私は次の関係を持っています
Supplies
sid 1 2 3 4
sname Jason David John Peter
address 1a 2b 3c 4d
Parts
pid 10 20 30 40
pname Head Body Hand Leg
color red blue green white
Catalog
sid 1 1 2 2 3 4 1
pid 10 20 20 30 30 40 30
cost100 200 150 150 130 125 50
そして、赤と緑の部品を供給しているサプライ品の ID を見つけたいと思います。
クエリを使用しましたが、null を返しましたが、その理由がわかりません。(sid is 1 を返す必要があります)
SELECT S.sid FROM Suppliers AS S, Parts AS P, Catalog AS C WHERE S.sid = C.sid AND C.pid = P.pid AND ( P.color = 'red' AND P.color = 'green' )
上記のクエリと次のクエリの違いは何ですか? (nullも返しますが、sid is 1を返すべきだと思います)
SELECT S.sid FROM Suppliers AS S, Parts AS P1, Catalog AS C1, Parts AS P2 , Catalog AS C2 WHERE S.sid = C1.sid AND C1.pid = P1.pid AND S.sid = C2.pid AND C2.pid = P2.pid AND ( P1.color = 'red' AND P2.color = 'green' )