versiontrim と呼ばれる次のテーブルと、いくつかのサンプル データがあります。
version_id trim_id
410 3
410 5
410 10
410 15
410 20
411 2
411 5
411 15
411 25
411 28
別のテーブル trims には、次のように各トリム ID の詳細が保持されます。
trim_id trim
2 Air conditioner auto
3 Air conditioner manual
5 Airbag
10 Cloth seats
25 Leather seats
etc.....
SET OF 2 version_id ごとに一意の trim_id を抽出しようとしています。結果は次のようになります。
version_id trim_id trim version_id trim_id trim
411 2 Air conditioner auto
410 3 Air conditioner manual
410 10 Cloth seats
411 25 Leather seats
410 20 blahblah
411 28 blah....
etc...
以下のクエリを使用して、各セットを個別に取得し、version_id を交換しました。
SELECT version_id, trim_id, trim
FROM versiontrim a
INNER JOIN trims USING(trim_id)
WHERE a.version_id = 411
AND NOT EXISTS
(
SELECT * FROM versiontrim b
INNER JOIN trims USING(trim_id)
WHERE a.trim_id = b.trim_id
AND b.version_id = 410
)
適切に出力できるように、クエリを 1 つだけ使用する、より簡単な方法があると確信しています。ご協力いただきありがとうございます。