あるテーブルから別のテーブルにデータをコピーしようとしています。T1、T2 は両方とも適切に設定された 2 つのテーブルであり、両方とも UQ である PK を持っています。特に、値 R を GZHTable3 からテーブル Combined_Data に入れたいと考えています。R は一意ではなく、T1.Aid = T2.Gid の場合はそうでなければならないので、次のようになります。
INSERT INTO Combined_Data (R)
SELECT T2.R
FROM GZHTable3 as T2
JOIN Combined_Data as T1 ON T1.Aid = T2.Gid;
Aid と Gid は、それぞれのテーブルの UQ と PK です。私が見る限り、エイドもギドもPKなので反対です。
T2.R の値だけをコピーしようとしているわけではありませんが、Aid、Gid の 2 つのテーブル間で同期する必要があります。なぜ反対しているのか、解決策は何ですか?(一部のデータはテーブル間で複製されますが、R は複製されません)。
ありがとう
明確にするために:
表 1 (T1)
Aid R Data fields .....
UQid1 0 ........ data .........
UQid2 0 ........ data .........
表 2 (T2)
Gid R Different data fields....
UQid6 R6 ....... data ....
UQid12 R12 ....... data ....
UQid23 R23 ....... data ....
UQid1 R1 ....... data ....
T1、T2 は同じ順序ではありません。T1 の各 Aid に対して、T2 で対応する Gid の値 (UQid1 など) を見つけ、T2 のその行にある R の (厳密に) 非ゼロ値を T1 の対応する行にコピーする必要があります。
T2 のすべての要素は null ではなく、現在の目的では数値です。T2 は T1 よりはるかに大きい