我有兩個表。表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