2012-11-16 31 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 

然而,这仅仅是一个猜测你忘了通知我们两个表之间的关系,即产品如何知道它们属于哪个客户。

而且,但这是一个有点挑剔,你想要的订单数量,但只能有一个“产品”表...