こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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文がわかりません。

よろしくご教授ください。

投稿日時 - 2011-12-19 19:35:38

QNo.7198905

困ってます

質問者が選んだベストアンサー

>Bテーブルを調査して、重複となるレコードを
ターゲットが違うでしょ。Bには重複レコードは
できないんだから・・・
AテーブルからBテーブルのキーとなる項目で
グループ化し、そのレコード数が2以上ならば
重複になる。
SELECT 契約番号,ユニット番号,資源番号,
入力日,COUNT(契約番号) AS 件数
FROM Aテーブル GROUP BY 契約番号,
ユニット番号,資源番号,入力日
HAVING COUNT(契約番号)>1

投稿日時 - 2011-12-19 20:16:39

お礼

さっそくのご回答ありがとうございます。

試してみます。

投稿日時 - 2011-12-20 09:31:38

ANo.1

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問