我有两个表。表A列出了员工姓名。表B是一个复杂的表格,其中包含员工打电话的信息。SQL - 按左连接分组
我的目标是创建一个列'name'和'callCount'的表。我打算通过“左连接”和“分组”来实现这一点,但我一直在思念那些没有打过电话的员工。我怎样才能让它保持名称,并在那里放一个零?
也许我很近,有人可以指出我的错字?在此先感谢您的帮助,这里是SQL:
SELECT A.name, COUNT(B.call_id) AS 'outgoing call count'
FROM EmployeeTable A
LEFT JOIN CallTable B
ON A.name = B.call_from_name
WHERE B.call_type LIKE 'outgoing'
AND B.voice_mail = '0'
...
GROUP BY A.name
太好了,非常感谢! :) – Brandi 2010-07-12 20:35:26
当你不需要通配符比较时,要小心使用LIKE。它可以真正杀死你的查询速度。只是做一个常规的平等比较:WHERE call_type ='传出' – 2010-07-12 20:48:19
有关进一步解释: http://wiki.lessthandot.com/index.php/WHERE_conditions_on_a_LEFT_JOIN – HLGEM 2010-07-12 21:44:39