質問: insertで重複となったキーをさがすsql文 テーブルの移行(aテーブルのデータをキーを変更してbテーブルにinsertする)を行ったところ、 error: duplicate key violates unique constraint "bテーブル_unique"とメッセージが出ます。 sql文はつぎの通りです。 insert into bテーブル(契約番号, ユニット番号, 資源番号, 入力日, 数量) select a.契約番号, a.ユニット番号, a.資源番号, a.入力日, a.数量 from aテーブル a ; bテーブルのキーは、契約番号, ユニット番号, 資源番号, 入力日です。 aテーブルのキーは、契約番号,入力日,レベル1,レベル2です。 データ件数は約3万件です。 bテーブルを調査して、重複となるレコードを表示させたいのですが、 sql文がわかりません。 よろしくご教授ください。
回答: >bテーブルを調査して、重複となるレコードを ターゲットが違うでしょ。bには重複レコードは できないんだから・・・ aテーブルからbテーブルのキーとなる項目で グループ化し、そのレコード数が2以上ならば 重複になる。 select 契約番号,ユニット番号,資源番号, 入力日,count(契約番号) as 件数 from aテーブル group by 契約番号, ユニット番号,資源番号,入力日 having count(契約番号)>1