SELECT part_number,
price,
(Select max(sent_to_t) AS 'T' From [CIMSDB].[dbo].[price] where sent_to_t < '06/04/2013' Group by part_number)
FROM [CDB].[dbo].[part]PAB Inner Join [CDB].[dbo].[price] PR
ON PA.part_id = PR.part_id
Order By part_number
我想要做的是獲取零件清單和他們的價格,最近的send_to_t日期是在6/4之前。我目前recieving - 「錯誤消息MS SQL Server SQL組使用max()時出錯。 Msg 164
服務器:消息164,15級,狀態1,行 每個GROUP BY表達式必須至少包含一個 列不是外部引用。」
該錯誤告訴您「price」表中沒有'part_number'列 - 也許您的意思是不同的列。或者您可能打算使用外部查詢中'part'表的列 - 但我們不知道哪一列,因爲我們沒有您的表或數據,也不知道您期望實現的結果。 –
哪個版本的SQL Server? – gbn
版本-2008。這是正確的,part_number來自零件表。我試圖通過part_numbrer對它進行分組,以便返回一個列表,如Part |價格| T | 55 | 2.5 | 2012-01-12我想要的是每個部分在6/04/13之前的最後價格。 – Eric