LEFT JOIN não retorna todos os registros da tabela do lado esquerdo
SELECT d.mt_code,
d.dep_name,
d.service_name,
COUNT(*)
FROM DepartmentService AS d
LEFT JOIN tbl_outgoing AS t ON d.mt_code = t.depCode
WHERE d.service_type = 'MT'
AND t.smsc = "mobitelMT"
AND t.sendDate BETWEEN '2014-07-01' AND '2014-07-02'
GROUP BY d.mt_code
DepartmentService
A tabela possui detalhes sobre os departamentos que oferecem serviços.tbl_outgoing
A tabela contém todas as transações ocorridas para um serviço específico que são feitas pelos clientes. NoWHERE
cláusula duas cafeterias devem ser cumpridas, que sãoservice_type = 'MT' and smsc = "newMT"
. Quero obter um relatório que mostre todos os departamentos com as transações por um determinado período. Eu usei umLEFT JOIN
porque eu quero obter todos os departamentos. O SQL funciona bem e obtém o resultado desejado, exceto,
Quando não há transações para um serviço específico para uma partícula, r período, o departamento também é ignorado. O que eu quero fazer é mostrar o departamento no conjunto de resultados e a coluna COUNT (*) como 0.
Como eu posso fazer isso?