我有一個表「TBL」它看起來像這樣:選擇第一個匹配行
prod | cust | qty
p1 | c1 | 5
p1 | c2 | 10
p2 | c1 | 2
p3 | c2 | 8
我需要的是產品和客戶對獨特的列表,但只有第一個客戶,如果產品銷售到不止一個客戶。爲了詞的結果需要是這樣的:
prod | cust
p1 | c1
p2 | c1
p3 | c2
我已經試過這其中每一個我能想到的辦法,但我不能完全得到正確的結果。很明顯,既不區分也不分羣,因爲它們都會返回p1,c2行。
我發現這個question這是一個非常接近的比賽,但我無法弄清楚如何重新寫來得到它做什麼,我需要。
最糟糕的是這一切的當前需要在Access 2007或更高版本的工作,但在未來的某個時刻,它會需要在MySQL中正常工作。
額外信用的人誰也加入結果給客戶表,這樣我可以從客戶代碼查找人類可讀的名字,例如: c1 => Fred Bloggs扳手
你如何定義「第一個客戶」?是否有一個日期字段明確表明你沒有顯示? – 2012-02-29 18:53:21
我定義「第一個」是查詢返回的任何一個 - 我會很高興與p1,c1或p1,c2被返回我無法應付兩個被返回(因爲產品代碼正在使用另一個連接,我不想重複)。表tbl中沒有其他有用的字段。 – wobblycogs 2012-02-29 19:01:12
好的,我在發佈答案後閱讀此評論 - 這沒有意義 - 您希望「第一」客戶,但實際上並不關心「第一」客戶是誰或他們如何確定?我沒有寫出你的要求,但是你真的很想隨機抽取結果嗎?!? – 2012-02-29 19:25:45