这是我的查询:
SELECT custname
FROM customer C
JOIN Organization o ON c.OrganizationId = o.Id
INNER JOIN Organizationratings om
ON o.Id = om.OrganizationId GROUP BY custname
HAVING COUNT(*) = 1
如果我给出count(*)= 2但我有一个客户名称-ABC,并且客户表中只有一条记录,该代码就可以正常工作,但是如果我给出count为2则它将获取该客户名称
我的查询出了什么问题,该怎么办?
这是您的查询的有效版本:
SELECT c.custname
FROM customer c
INNER JOIN Organization o ON c.OrganizationId = o.Id
INNER JOIN Organizationratings om ON o.Id = om.OrganizationId
GROUP BY c.custname
HAVING COUNT(*) = 1;
请注意,GROUP BY
子句中出现的内容与SELECT
子句相同,减去select中的所有其他聚合(无论如何您都没有)。