我試圖編寫SQL(Access 2010)以從部件可以重複的表中選擇具有最低價格的部件,因爲某些部件其他領域不同。選擇具有最小值的行作爲字段,其餘字段不同
,看起來像這樣的表:
Dist Part Num Ven Part Num Dist Desc Price
DD7777QED 7777QED DD Product A 10
IM7777QED 7777QED IM This is Product A 12
SY7777QED 7777QED SY Product A Desc 15
DD8888QED 8888QED DD Product B 15
IM8888QED 8888QED IM This is Product B 10
SY8888QED 8888QED SY Product B Desc 12
IM999ABC 999ABC IM Product C Desc 15
我試圖提取具有最小代價的是法師部分民是重複的每一行的所有細節。實質上,該供應商行的所有詳細信息對於該供應商零件編號具有最便宜的價格。
從上面的樣本數據的結果應該是這樣的:
Dist Part Num Ven Part Num Dist Desc Price
DD7777QED 7777QED DD Product A 10
IM8888QED 8888QED IM This is Product A 10
IM999ABC 999ABC IM Product A Desc 15
感謝
編輯:謝謝您尤爾根·d的回答,雖然我覺得你想用法師部分NUM(而不是Dist Part Num)。我已經ammended到了現在這個查詢幾乎工程,我想:
SELECT T1.*
FROM My_Table T1
INNER JOIN
(
SELECT [Ven Part Num], MIN(Price) AS MPrice
FROM My_Table
GROUP BY [Ven Part Num]
) T2 ON T1.[Ven Part Num] = T2.[Ven Part Num] AND T1.Price = T2.MPrice
現在面臨的挑戰是,如果兩個地區具有相同的最低報價爲同一法師部分民,然後將得到的提取物中含有2排爲Ven Part Num,但我只想要一個,要麼會做。我嘗試了TOP 1,但是它運行並且由於整個查詢而導致只有一行。我有40,000行我期待!如何在最終報告中只提取這兩行中的一行?
再次感謝!
對不起,我力得到的,你是說達DIST是一個獨特的密鑰,那麼它怎麼可能重複,有IM在3條 –
嗨馬里蘭州佩爾韋茲×阿拉姆的Dist_Part_Num是唯一的密鑰(不重複)。 Juergen's的答案似乎很接近,因爲我認爲他誤以爲Dist_Part_Num和Ven_Part_Num。一旦我做出這個改變,我最終會接近結果。唯一的問題是兩個Dist行(不同的Dist)在同一個MIN價格中包含相同的Ven_Part_Num ...我得到兩行,我真的想要這兩個行中的任何一行,因此只有一行被提取。你知道我怎麼能過濾到一行嗎? – TheRealPapa
在內部查詢中嘗試使用不同的關鍵字 –