• 締切済み

このSQL文を教えてください。

Windows2000(SP3) SQLServer2000(SP3) で開発しています。 テーブルA 項目No,大分類コード,中分類コード,詳細コード,日付,内容 テーブルB 大分類コード,中分類コード,詳細コード,新_詳細コード,内容 TableA,Bでは大分類コード,中分類コード,詳細コードがリンクする このような状況で、TableA,Bを下記のようにjoinして、  TableA.大分類コード,   TableA.中分類コード,  TableB.新_詳細コード, が重複するデータを取得する場合のSQL文を教えてください。 (join) SELECT  TableA.*,  TableB.* FROM  TableA LEFT OUTER JOIN  TableB ON  TableA.大分類コード=TableB.大分類コード  AND  TableA.中分類コード=TableB.中分類コード  AND  TableA.詳細コード=TableB.詳細コード よろしくお願いします。

みんなの回答

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

SELECT TableA.大分類コード, TableA.中分類コード, TableB.新_詳細コード FROM  TableA LEFT OUTER JOIN  TableB ON  TableA.大分類コード=TableB.大分類コード  AND  TableA.中分類コード=TableB.中分類コード  AND  TableA.詳細コード=TableB.詳細コード group by TableA.大分類コード, TableA.中分類コード, TableB.新_詳細コード having count(*) > 1 で、3つの項目が重複するものは求められます。 実際のレコードを取得したい場合は、上のSQLをそのまま1つのテーブルとみなし、 t-hayaが記述したテーブルと結合させれば求められます。