在表A(別名ai)中,我有一個項目列表。在表B(別名aib)中,我有表A的所有項目的價格歷史記錄,但不是所有項目,對於那些我需要SELECT NULL。我需要從表A中選擇項目,它是表B的最大價格或NULL。SQL Help Requested:SELECT Table A加入表B(最大或無)
下面是我的,但它不工作,如果表B有廣泛的價格歷史記錄,我得到重複的記錄。
這裏的不完全工作查詢:
SELECT *
FROM ItemGroup aig
INNER JOIN Item ai ON ai.groupID = aig.ID
LEFT JOIN Item_Prices aib ON ai.ID = aib.ItemID
WHERE aig.ID = @groupID AND
(aib.max_price = (SELECT MAX(price) AS highprice FROM Item_Prices
WHERE ItemID = ai.ID)
OR aib.price IS NULL)
ORDER BY end_date
所有建議都歡迎。
尊敬,
雷
您使用的是什麼RDBMS? – 2011-04-19 21:12:25
這裏還有一張桌子C嗎? – clamchoda 2011-04-19 21:42:58
對不起,遺漏了一些重要的事實:SQL Server 2008 R2和是的,有一個表C. – 2011-04-20 00:45:27