2010-12-16 61 views
0

我有兩個包含相關數據的表。一張表格爲products,另一張表格爲price。在價格表中,一個產品可能會出現好幾次。我怎樣才能通過分組來返回結果。使用左連接的SQL分組

下面是我的查詢,但輸出不與

SELECT distinct 
      p.Product, 
      p.Qty, 
      MAX(pr.netprice) 

    FROM Products p 
    LEFT OUTER JOIN Price pr ON p.Product=pr.Product 
    WHERE p.brand='' 
    GROUP BY p.Product, p.Qty 
+0

這應該工作。你想如何看待結果? – 2010-12-16 09:09:07

+0

這裏使用不同的內涵是什麼? – 2010-12-16 09:15:05

+0

您是否試圖在價格表中檢索產品及其最高價格(最高價格)?我可以寫查詢,但不認爲我完全理解你想要什麼。 – 2010-12-16 09:24:54

回答

0

組你也許應該離開Qtygroup by,像這樣的:

SELECT p.Product, 
     MAX(pr.netprice) 

    FROM Products p 
    LEFT OUTER JOIN Price pr ON p.Product=pr.Product 
    WHERE p.brand='' 
    GROUP BY p.Product 
+1

這將不會運行,您還必須從選擇列表中刪除p.Qty。 – Jan 2010-12-16 09:15:12

+0

@Jan - 真。這可能無法運行,因爲您需要在函數中包含該列或將其放入GROUP BY – 2010-12-16 09:18:30

+0

如果在組列表中刪除Qty ----在選擇列表中無效,因爲它未包含在集合函數或GROUP BY子句中。 – user543425 2010-12-16 09:22:59