2017-12-12 12 views
-1

私はテーブルBからデータをコピーしなければならないテーブルAを持っています。今問題がありますテーブルAとテーブルBの両方にプライマリキーでありヌルにすることのできないカラムIDがあります。表AはDuplicatesを有する。どのテーブルからテーブルBにデータを挿入するのですか?重複なしでテーブルに挿入

+1

サンプルテーブルのデータと予想される結果を追加します。書式設定されたテキストは画像ではありません。 – jarlh

+0

およびdbプラットフォーム – OldProgrammer

+0

どのように(主キーであり、ヌルにすることができない列IDです。テーブルAは重複しています)? IDは重複していますか?または他の列? IDは主キーです。 –

答えて

0

それはあなたが重複を削除するselect文でDISTINCT機能を使用することができます

INSERT INTO TableA(ID) SELECT DISTINCT ID FROM TableB B LEFT JOIN TableA A ON A.ID = B.ID WHERE A.ID IS NULL 
+0

IDがDistinct Recordsを持っているので、IDカラム上でdistinctを使用することはできません。しかし、他の列はDuplicatesを持っています。私はRow_NumberでパーティションByを試していました。しかし、まだ解決していない問題 – Abhijit

0

ようなものになるだろう。私は両方のテーブルがID名前と呼ばれる3つの列があると仮定するつもりだ例で :

insert into tableB (ID, Name, Surname) 
select 
    distinct(ID) as ID 
    ,Name 
    ,Surname 
from tableA 
; 

DISTINCT機能が別個の行を提供しますのでご注意ください。

関連する問題