cs_djawadshow
Messages postés11Date d'inscriptionsamedi 12 mars 2005StatutMembreDernière intervention17 octobre 2010
-
17 oct. 2010 à 15:22
cs_Robert33
Messages postés834Date d'inscriptionsamedi 15 novembre 2008StatutMembreDernière intervention14 janvier 2017
-
24 oct. 2010 à 19:30
Bonjour
Comme c'est le de plusieurs personne, je n'arrive pas a avoir la ligne quand le count() = 0
dans pour mieux vous illustrer ma table "BIEN" voici un appercu:
SELECT CASE etat
WHEN '#FFFFFF'
THEN 'appart disponibles'
WHEN '#9fcbef'
THEN 'client injoignable'
WHEN '#FFCC00'
THEN 'appart NON visités'
WHEN '#ababab'
THEN 'Affaires annulées'
END AS etat, COUNT( 'etat' ) AS nb
FROM `bien`
WHERE `transaction` = 'vente'
AND `type` = 'appartement'
GROUP BY `etat`
donc après exécution de ma requette SQL voici le résultat affiché:
----------ETAT--------------------nb--------
------------------------------------------------
----appart disponibles-----------3--------
----appart NON visités-----------3--------
----Affaires annulées------------1--------
et mon souait est d'avoir ce résultat: la ligne ou il y a zero éléments
cs_Robert33
Messages postés834Date d'inscriptionsamedi 15 novembre 2008StatutMembreDernière intervention14 janvier 201733 24 oct. 2010 à 19:30
Bonsoir
En effet, une requette ne retourne pas le nombre de ligne qui n'existe pas
il te faut faire 2 requettes séparées, et les unir
/* on traite tout sauf les clients injoignables */
SELECT
CASE etat
WHEN '#FFFFFF'
THEN 'appart disponibles'
WHEN '#FFCC00'
THEN 'appart NON visités'
WHEN '#ababab'
THEN 'Affaires annulées'
END AS etat,
COUNT( 'etat' ) AS nb
FROM bien WHERE [transaction] = 'vente' AND type = 'appartement' AND etat <> '#9fcbef' GROUP BY etat
union all
/* on ajoute les clients injoignables */
SELECT 'client injoignable' AS Expr2, COUNT(*) AS Expr1 FROM bien WHERE (etat = '#9fcbef')