私の質問は、LEFT JOINの制限と非常に似ていますが、バリエーションがあります。
テーブルSHOPと別のテーブルLOCATIONがあると仮定します。Locationは、テーブルSHOPの子テーブルの一種であり、対象となる2つの列があります。1つは分割キー(単にKEYと呼びます)と「SHOP」番号です。これは、テーブルSHOPの番号「NO」に一致します。
私はこの左外側の結合を試しました:
SELECT S.NO, L.KEY
FROM SHOP S
LEFT OUTER JOIN LOCATN L ON S.NO = L.SHOP
でも、1つのショップに属する場所がたくさんあるので、重複がたくさんあります。それらを削除して、重複のない「ショップ、キー」エントリのリストを取得したいと思います。
データは正しいですが、重複は次のように表示されます。
SHOP KEY
1 XXX
1 XXX
2 YYY
3 ZZZ
3 ZZZ etc.
代わりに、データを次のように表示したいと思います。
SHOP KEY
1 XXX
2 YYY
3 ZZZ etc.
SHOPテーブル:
NO
1
2
3
LOCATIONテーブル:
LOCATION SHOP KEY
L-1 1 XXX
L-2 1 XXX
L-3 2 YYY
L-4 3 YYY
L-5 3 YYY
(ORACLE 10gデータベース)