引用:
どちらかというと前者の方が望ましいです。
引用:
・[Aテーブル]でも[Bテーブル]でもない別のテーブルに
レコードを追加したい。
引用:
どちらか一方にしか存在しないレコードはありません
・仮にレコードの追加先となる空のテーブルを[Cテーブル]とする。
・[Aテーブル], [Bテーブル], [Cテーブル]の構造は全て同一であり、
テキスト型のフィールド[会社名]、および 30 個の数値型のフィールド
([フィールド1]〜[フィールド30])が定義されている。
以上のような前提である場合は、例えば次のような追加クエリを
実行なさればよろしいでしょう。
( SQL ビュー)
-----------------------------------------------------------
INSERT INTO [Cテーブル]
([会社名],
[フィールド1],
[フィールド2],
[フィールド3],
[フィールド4],
[フィールド5],
[フィールド6],
[フィールド7],
[フィールド8],
[フィールド9],
[フィールド10],
[フィールド11],
[フィールド12],
[フィールド13],
[フィールド14],
[フィールド15],
[フィールド16],
[フィールド17],
[フィールド18],
[フィールド19],
[フィールド20],
[フィールド21],
[フィールド22],
[フィールド23],
[フィールド24],
[フィールド25],
[フィールド26],
[フィールド27],
[フィールド28],
[フィールド29],
[フィールド30])
SELECT [Aテーブル].[会社名],
IIf([Aテーブル].[フィールド1]=[Bテーブル].[フィールド1],Null,[Aテーブル].[フィールド1]) AS [フィールド1],
IIf([Aテーブル].[フィールド2]=[Bテーブル].[フィールド2],Null,[Aテーブル].[フィールド2]) AS [フィールド2],
IIf([Aテーブル].[フィールド3]=[Bテーブル].[フィールド3],Null,[Aテーブル].[フィールド3]) AS [フィールド3],
IIf([Aテーブル].[フィールド4]=[Bテーブル].[フィールド4],Null,[Aテーブル].[フィールド4]) AS [フィールド4],
IIf([Aテーブル].[フィールド5]=[Bテーブル].[フィールド5],Null,[Aテーブル].[フィールド5]) AS [フィールド5],
IIf([Aテーブル].[フィールド6]=[Bテーブル].[フィールド6],Null,[Aテーブル].[フィールド6]) AS [フィールド6],
IIf([Aテーブル].[フィールド7]=[Bテーブル].[フィールド7],Null,[Aテーブル].[フィールド7]) AS [フィールド7],
IIf([Aテーブル].[フィールド8]=[Bテーブル].[フィールド8],Null,[Aテーブル].[フィールド8]) AS [フィールド8],
IIf([Aテーブル].[フィールド9]=[Bテーブル].[フィールド9],Null,[Aテーブル].[フィールド9]) AS [フィールド9],
IIf([Aテーブル].[フィールド10]=[Bテーブル].[フィールド10],Null,[Aテーブル].[フィールド10]) AS [フィールド10],
IIf([Aテーブル].[フィールド11]=[Bテーブル].[フィールド11],Null,[Aテーブル].[フィールド11]) AS [フィールド11],
IIf([Aテーブル].[フィールド12]=[Bテーブル].[フィールド12],Null,[Aテーブル].[フィールド12]) AS [フィールド12],
IIf([Aテーブル].[フィールド13]=[Bテーブル].[フィールド13],Null,[Aテーブル].[フィールド13]) AS [フィールド13],
IIf([Aテーブル].[フィールド14]=[Bテーブル].[フィールド14],Null,[Aテーブル].[フィールド14]) AS [フィールド14],
IIf([Aテーブル].[フィールド15]=[Bテーブル].[フィールド15],Null,[Aテーブル].[フィールド15]) AS [フィールド15],
IIf([Aテーブル].[フィールド16]=[Bテーブル].[フィールド16],Null,[Aテーブル].[フィールド16]) AS [フィールド16],
IIf([Aテーブル].[フィールド17]=[Bテーブル].[フィールド17],Null,[Aテーブル].[フィールド17]) AS [フィールド17],
IIf([Aテーブル].[フィールド18]=[Bテーブル].[フィールド18],Null,[Aテーブル].[フィールド18]) AS [フィールド18],
IIf([Aテーブル].[フィールド19]=[Bテーブル].[フィールド19],Null,[Aテーブル].[フィールド19]) AS [フィールド19],
IIf([Aテーブル].[フィールド20]=[Bテーブル].[フィールド20],Null,[Aテーブル].[フィールド20]) AS [フィールド20],
IIf([Aテーブル].[フィールド21]=[Bテーブル].[フィールド21],Null,[Aテーブル].[フィールド21]) AS [フィールド21],
IIf([Aテーブル].[フィールド22]=[Bテーブル].[フィールド22],Null,[Aテーブル].[フィールド22]) AS [フィールド22],
IIf([Aテーブル].[フィールド23]=[Bテーブル].[フィールド23],Null,[Aテーブル].[フィールド23]) AS [フィールド23],
IIf([Aテーブル].[フィールド24]=[Bテーブル].[フィールド24],Null,[Aテーブル].[フィールド24]) AS [フィールド24],
IIf([Aテーブル].[フィールド25]=[Bテーブル].[フィールド25],Null,[Aテーブル].[フィールド25]) AS [フィールド25],
IIf([Aテーブル].[フィールド26]=[Bテーブル].[フィールド26],Null,[Aテーブル].[フィールド26]) AS [フィールド26],
IIf([Aテーブル].[フィールド27]=[Bテーブル].[フィールド27],Null,[Aテーブル].[フィールド27]) AS [フィールド27],
IIf([Aテーブル].[フィールド28]=[Bテーブル].[フィールド28],Null,[Aテーブル].[フィールド28]) AS [フィールド28],
IIf([Aテーブル].[フィールド29]=[Bテーブル].[フィールド29],Null,[Aテーブル].[フィールド29]) AS [フィールド29],
IIf([Aテーブル].[フィールド30]=[Bテーブル].[フィールド30],Null,[Aテーブル].[フィールド30]) AS [フィールド30]
FROM [Aテーブル]
INNER JOIN [Bテーブル]
ON [Aテーブル].[会社名] = [Bテーブル].[会社名];
-----------------------------------------------------------