2012-11-16 36 views
0

我需要一些SQL幫助..SQL Select語句顯示特定於行的計數信息?

假設我有兩個表:CustomersProducts

現在,我希望看到一個SQL語句會告訴我這兩列:

Customer | Number of orders placed 

我該怎麼辦呢?

第二列是一個不存在的列,它顯示了一個數字,表明客戶已經下達了多少個訂單。

例如:

Customer | Number of orders placed 
-------- | ----------------------- 
John  |    23 
Jack  |    5 
Mary  |    12 

等。

什麼是這個樣的一個選擇的SQL?

+1

你可能需要有對於初學者另一個表。 「訂單」 - 將客戶鏈接到產品的訂單 –

回答

0

JOIN。由於沒有給出表格,這只是組成你的列名。

SELECT 
     c.Name, 
     myOrders = COUNT(o.id) 
    FROM Customers c 
    INNER JOIN Orders o 
     ON c.id = o.customerId 
    GROUP BY c.Name 

快速閱讀:JOINSGROUP BY

0

我猜測,產品表包含一個外鍵的CustomerID它引用的客戶。結果查詢將

select Customers.Name, Count(*) 
from Customers join Products 
     on Customers.CustomerID = Products.CustomerID 

然而,這僅僅是一個猜測你忘了通知我們兩個表之間的關係,即產品如何知道它們屬於哪個客戶。

而且,但這是一個有點挑剔,你想要的訂單數量,但只能有一個「產品」表...