2012-09-04 41 views
2

我有由一個ID,看起來像這樣確定客戶的詳細資料一個表:加入一個MySQL表的ID名稱標識在另一個

ID (the clientcode), Name, Details 

我想從另一個表與銷售信息參考ID並在查詢中選擇客戶端的名稱。

以爲撿到只是ID(clientcode)

我原來的查詢字符串是這樣的:

SELECT clientcode, SUM(sales) FROM inventory WHERE manufacturer='1' 
    GROUP BY client code ORDER BY SUM(sales) DESC 

我想還搭載了由clientcode引用的客戶端的名稱。

我嘗試了幾個左連接,但無法使查詢工作。

+0

告訴我們什麼也沒有對所有的答覆工作 – Cfreak

回答

2
SELECT i.clientcode 
    , c.name 
    , SUM(i.sales) 
    FROM inventory i 
    LEFT 
    JOIN clientdetails c 
    ON c.id = i.clientcode 
WHERE i.manufacturer='1' 
GROUP BY i.clientcode, c.name 
ORDER BY SUM(i.sales) DESC 
+0

感謝鄉親。第一個工作。 – sal

1

這應該這樣做

SELECT c.ID, c.name, SUM(i.sales) 
FROM inventory i 
JOIN clients c ON c.ID = i.clientcode 
WHERE i.manufacturer='1' 
GROUP BY c.ID, ORDER BY SUM(i.sales) DESC 
1

一個簡單的查詢,以實現這一目標是:

SELECT i.clientcode, d.name, SUM(i.sales) FROM inventory i, details d 
WHERE i.manufacturer='1' 
    AND d.clientcode = i.clientcode 
GROUP BY i.clientcode ORDER BY SUM(i.sales) DESC 
1

這裏,嘗試thisone出來。

SELECT inventory.clientcode, 
     SUM(inventory.sales), 
     clientdetails.Name 
FROM inventory 
     INNER JOIN clientdetails 
      ON inventory.clientcode = clientdetails.clientcode 
WHERE inventory.manufacturer='1' 
GROUP BY inventory.clientcode, clientdetails.Name 
ORDER BY SUM(inventory.sales) DESC 
0
SELECT a.clientcode, 
     SUM(a.sales), 
     b.Name 
FROM inventory a 
     INNER JOIN clientdetails b 
      ON a.clientcode = b.clientcode 
WHERE a.manufacturer='1' 
GROUP BY a.clientcode, b.Name 
ORDER BY SUM(a.sales) DESC 
相關問題