Pas de retour si count = 0 - SQL/NoSQL - Programmation
MarshPosté le 24-09-2008 à 12:01:24
Bonjour,
J'ai un problème avec l'une de mes requêtes :
Citation :
SELECT c.id,email,count(r.idCampagne) FROM contact c LEFT JOIN recevoir r ON (c.id = r.idContact) LEFT JOIN campagne ca ON (r.idCampagne = ca.id) WHERE ca.dateEnvoi BETWEEN '2006-06-01' AND '2006-06-30' GROUP BY id HAVING count(r.idCampagne) <10 ORDER BY 3;
Lorsque j'exécute cette requête, elle ne me renvoie pas les résultats où le count est égal à 0.
Or, si j'exécute cette requête :
Citation :
SELECT count(idCampagne) FROM recevoir LEFT JOIN campagne ON (campagne.id=recevoir.idCampagne) WHERE dateEnvoi BETWEEN '2006-06-01' AND '2006-06-30' AND idContact = 1214
Elle me renvoie bien 0.
Je ne comprends pas pourquoi le résultat de la deuxième requête n'est pas dans la première.
Marsh Posté le 24-09-2008 à 12:01:24
Bonjour,
J'ai un problème avec l'une de mes requêtes :
SELECT c.id,email,count(r.idCampagne)
FROM contact c
LEFT JOIN recevoir r ON (c.id = r.idContact)
LEFT JOIN campagne ca ON (r.idCampagne = ca.id)
WHERE ca.dateEnvoi BETWEEN '2006-06-01' AND '2006-06-30'
GROUP BY id HAVING count(r.idCampagne) <10
ORDER BY 3;
Lorsque j'exécute cette requête, elle ne me renvoie pas les résultats où le count est égal à 0.
Or, si j'exécute cette requête :
SELECT count(idCampagne) FROM recevoir LEFT JOIN campagne ON (campagne.id=recevoir.idCampagne) WHERE dateEnvoi BETWEEN '2006-06-01' AND '2006-06-30' AND idContact = 1214
Elle me renvoie bien 0.
Je ne comprends pas pourquoi le résultat de la deuxième requête n'est pas dans la première.