J'ai deux tables. Le tableau A contient une liste de noms d'employés. Le tableau B est un tableau complexe contenant des informations sur les appels téléphoniques effectués par les employés.SQL - Grouper avec Left Join
Mon but est de faire une table avec les colonnes 'name' et 'callCount'. Je vise à faire cela avec une «gauche de joint» et un «groupe par», mais je continue à manquer les employés qui n'ont fait aucun appel. Comment puis-je l'obtenir pour garder le nom et juste mettre un zéro là? Peut-être que je suis proche et quelqu'un peut signaler ma faute de frappe? Merci d'avance pour votre aide, voici le 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
Merveilleux, merci beaucoup! :) – Brandi
Faites attention à utiliser LIKE lorsque vous n'avez pas besoin des comparaisons génériques. Il peut vraiment tuer votre vitesse de requête. Faites juste une comparaison d'égalité régulière: OERE call_type = 'sortant' –
Pour plus d'explications: http://wiki.lessthandot.com/index.php/WHERE_conditions_on_a_LEFT_JOIN – HLGEM