比較する2つのテーブルがあります。SQLのSelectステートメントの動的フィールド
TAB1
KEY F1 F2 F3 F4
1A 70 61 58 91
1B 61 97 73 53
1C 96 16 32 92
表2は、表1のサブセットであり、異なるソースからロードされる:
表1は、すべてのフィールドが含まれているチェックテーブルです。 理想的には、両方のテーブルの対応するデータは一致する必要がありますが、実際には違いがあります。たとえば、以下の例では、キー1Cの列F3の値が異なります。それ以外は同じです。私が必要
TAB2
KEY F1 F3
1A 70 58
1C 96 10
エンド出力は比較にある
KEY F1_CHK F1 F1_DELTA F3_CHK F3 F3_DELTA
1A 70 70 0 58 58 0
1C 96 96 0 32 10 22
私は今
select TAB1.F1, TAB2.F1 , (TAB1.F1-TAB2.F1) , TAB1.F3, TAB2.F3 , (TAB1.F3-TAB2.F3)
FROM TAB1 INNER JOIN
TAB2
ON KEY = KEY
のように、問題は、私は、動的であることをこのソリューションを必要とすることであるで探していますので、選択。あるべき 私は
ステップ1(TAB2)私は上記の太字で示され、選択中のフィールドのリストがサブセットテーブルのフィールドに基づいてしなければならない意味することはTAB1 ステップ2のフィールドのリストを取得しなければなりませんTAB1とTAB2からこれらのフィールドを選択した場合(対応するフィールド名は常に同じになります)、その差を計算します。 したがって、基本的に期待されるselectステートメントは次のようになります。 TAB1のフィールドのリストについてはTAB1 INNER FROM TAB2フィールドリストに基づいてフィールドの動的リストを選択するKEY ON TAB2のJOIN = KEY
、私はメタデータテーブルに移動し、それを取得することができます。.. ステップ2混乱させる私.. 任意の助けが素晴らしいだろう..
ありがとう!