2016-04-19 16 views
0

データベースの2つのバージョン(v1とv2)があり、v2で新しくすべてを収集し、このクエリを使用して一時データベースに挿入します。同じ主キーで2番目の列が異なる2つのテーブルの相違

INSERT INTO [tmp].[dbo].[Mat] 
    SELECT * 
    FROM [v2].[dbo].[Mat] 
    WHERE myid NOT IN (SELECT myid FROM [v1].[dbo].[cMat_Mat]) 

Matの列はmyid(主キー)、matnumberなどです。

問題は、matnumberの場合は変更されていますが、私はmyidとしか比較できないため、新しいものとは見えません。

ここに私の質問があります。私は[v1].[dbo].[cMat_Mat][v2].[dbo].[Mat]にあり、同じmyidしかし異なるmatnumberを持っている行が必要です。それをどうやって問い合わせることができますか? ... SELECTで結果を確認してください。

答えて

4

ちょうどjoinテーブル必要条件。

INSERT INTO [tmp].[dbo].[Mat] 
SELECT v2m.* 
FROM [v2].[dbo].[Mat] v2m 
JOIN [v1].[dbo].[cMat_Mat] v1m on v1m.myid = v2m.myid and v1m.[cMat_Mat] <> v2m.[cMat_Mat] 
関連する問題