好的,我有这个小问题需要解决;我有两个表格[Customers]和[Orders],它们通过CustomerID链接。这很容易通过每个客户获得订单数()...SQL Server:显示客户列表的订单数多于指定客户的数量
SELECT c.CompanyName, COUNT(*) AS [Nbr of Orders]
FROM [Orders] o
INNER JOIN [Customers] c
ON c.CustomerID = o.CustomerID
GROUP BY c.CompanyName
但是从问题的最后一部分来问题:我需要获得该名单,但只有那些有多个订单这些客户(c.CompagnyName =“XYZ”) 我尝试添加这样的WHERE子句
WHERE COUNT(*) > (SELECT COUNT(*)
FROM [Orders] o
INNER JOIN [Customers] c
ON c.CustomerID = o.CustomerID
WHERE c.CompagnyName = 'XYZ')
SQL错误:P 样子可笑,但我知道,如果有人可以告诉我,我错过!
尝试把周围的评估声明(计数括号(*)>(SELECT COUNT(*)FROM [常规] O INNER JOIN [客户]ç ON c.CustomerID = o.CustomerID WHERE c.CompagnyName = 'XYZ')) – Dane
我想你想HAVING子句而不是WHERE子句,因为您正在过滤聚合函数。 –
谢谢@TheDumbRadish,我只改变了在哪里,并且工作很棒!阿夫,我不能大拇指评论:/ – BlinkSun