1

4つのフィールドを含むテーブルAがある場合、つまり

productA, typeA, productB, typeB

「product*」には製品名が含まれ、「type*」はテーブル B の ID を参照します。

id, type
1 , "fooType"
2 , "barType"

今私のテーブルAには、次のようなものがあります

productA, typeA, productB, typeB
"apple" , 1    , "banana", 2

ここで、テーブル B から正しい型情報を使用して上記の行を取得したいのですが、SQL はどうあるべきですか? 「JOIN ... AND」で作業できませんでした。「JOIN ... OR」は 2 つの結果を生成します。

[編集]

私が試したクエリ、

select * from a join b on a.typeA=b.id and a.typeB = b.id
select * from a join b on a.typeA=b.id or a.typeB = b.id
4

1 に答える 1

2

それは次のようになります。

SELECT
  A.productA,
  B1.type AS typeA,
  A.productB,
  B2.type AS typeB
FROM
  A
    LEFT JOIN B AS B1 ON A.typeA=B1.id
    LEFT JOIN B AS B2 ON A.typeB=B2.id
于 2013-11-13T06:11:38.793 に答える