書き込みしようとしているクエリに問題があります。残念ながら私はデータベースに対してのみ照会でき、スキーマを変更することはできません。SQLネストされた内部結合?または内部結合の句
Table 1
itemID sale date
----------------------------
1 1/2015
1 3/2016
2 5/2016
2 1/2015
Table 2
itemID colorID price
--------------------------------------
1 1 23
1 2 10
1 3 13
2 1 11
2 2 14
2 3 18
Table 3
ColorID color
---------------------------------------
1 Red
2 Blue
3 Green
Table 4
SaleBegin SaleEnd ColorID
----------------------------------------
1/1/2014 12/31/2014 1
1/1/2015 12/31/2015 2
1/1/2016 12/31/2016 3
ここで、最初の表の両方の商品IDの価格と色を基本的に求めるクエリが必要です。私はこのスキーマを使ってそれをどうやって行うのか分かりません。私は次のようなものを試しました:
SELECT item_id, price, color FROM Table1 T1
INNER JOIN Table2 T2
ON T1.ItemID=T2.ItemID
INNER JOIN Table3 T3
ON T2.ColorID=T3.ColorID
INNER JOIN Table4 T4
ON T3.ColorID=T4.ColorID
WHERE T1.itemID between SaleBegin AND SaleEnd
しかし、それは私のために働いていない代わりに、各アイテムの可能なすべての色と価格を教えてください。私は間違って何をしていますか?これらの値を取得するにはどうすればよいですか?期待される結果は次のようになります。
itemID color price
------------------------------------
1 Blue 10
1 Green 13
2 Green 18
2 Blue 14
これは 'WHERE T1.SaleDateの間ですべきではないですSaleBeginとSaleEnd'? – dnoeth
あなたは各販売の間に各商品の価格と色を探していますか? – supergrady