- 締切済み
重複レコードの取得
すみません。。重複レコードの取得方法に困っています。 やりたいのは以下です。 テーブルA 項目1| 項目2| 項目3| 11 | 11 | 01 | 12 | 11 | 02 | 13 | 11 | 04 | 14 | 11 | 04 | 上記の項目1は主キーです。 抽出したいのは下記のみです。 項目1| 項目2| 項目3| 13 | 11 | 04 | 14 | 11 | 04 | 色々SQLを組んで試しては見てるのですが。。。。 select * from テーブル where ((項目3) in (SELECT 項目3 FROM テーブル GROUP BY 項目3 having count(*)>1)) 上記SQLだと項目3を主キーごとにカウントしてるみたいなので 意図した結果が抽出されないのです・・・・・。 項目2と項目3を結合して重複のチェックをすればよいのか?? とも思いますがSQL自体が1本で完結したいので よく分からなくなってしまいました。。。。。 皆さんご教示宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- zuaige
- ベストアンサー率0% (0/0)
以下のようなSQL文はどうですか? SELECT * FROM テーブル 別名1 WHERE EXISTS (SELECT 'X' FROM テーブル 別名2 WHERE 別名2.項目2 = 別名1.項目2 AND 別名2.項目3 = 別名1.項目3 AND 別名2.ROWID <> 別名1.ROWID );
- chukenkenkou
- ベストアンサー率43% (833/1926)
こんな感じでは? select * from テーブル where (項目2,項目3) in(select 項目2,項目3 from テーブル group by 項目2,項目3 having count(*)>1)
- davosuke
- ベストアンサー率61% (34/55)
単純にこういうのどうですか?? SELECT * FROM テーブル WHERE 項目2 = '11' AND 項目3 = '04'