尝试显示公司名称,First&amp;呼叫次数小于5的姓氏。这表示哪些客户呼叫了<5次,并且说明了呼叫者所属的公司,但我正在寻找哪些公司具有&lt; 5个电话。
https://imgur.com/a/cFj8v - 数据库表
https://imgur.com/ChMZK1p - 预期结果
https://imgur.com/a/jnQUV - 我的结果
SELECT Company_name, First_name, Last_name, COUNT(Company_name) as nc
FROM Customer JOIN Caller ON Customer.Company_ref = Caller.Company_ref
JOIN Issue ON Caller.Caller_id = Issue.Caller_id
GROUP by Company_name, First_name, Last_name
HAVING COUNT(Company_name) < 5
答案 0 :(得分:0)
从查询的部分中删除选择和分组中的First_Name,Last_Name,您将得到您要求的内容(我猜您可能还需要更多内容,但如果您只是想要,请理解这一矛盾每个公司的呼叫,但也希望每个呼叫者的名字和姓氏以某种方式与它相关联,即不同分组的信息os)
SELECT Company_name, COUNT(Company_name) as nc
FROM Customer JOIN Caller ON Customer.Company_ref = Caller.Company_ref JOIN Issue ON Caller.Caller_id = Issue.Caller_id
GROUP by Company_name
HAVING COUNT(Company_name) < 5
答案 1 :(得分:0)
这样的事情怎么样...... 在子查询中,找到您感兴趣的公司。然后让该公司的人员接听电话。
(我没有对此进行测试,因此可能不准确,但它应该给你一个想法)
SELECT Company_name, First_name, Last_name
FROM Customer
JOIN Caller ON Customer.Company_ref = Caller.Company_ref
JOIN Issue ON Caller.Caller_id = Issue.Caller_id
WHERE Company_name in
(SELECT Company_name
FROM Customer
JOIN Caller ON Customer.Company_ref = Caller.Company_ref
JOIN Issue ON Caller.Caller_id = Issue.Caller_id
GROUP by Company_name
HAVING COUNT(Company_name) < 5)