par
Cyrano » 18 août 2011, 10:21
Tu m'as filé un doute, du coup j'ai fait quelques vérifications, et c'est toi qui a raison, j'ai fait une confusion : COUNT() retourne toujours un entier. Donc ma suggestion IFNULL sur un COUNT n'a pas de sens. Par contre on peut vouloir une valeur par défaut pour remplacer une valeur de retour égale à zéro, et dans ce cas c'est le IF() qu'il faut utiliser. On peut aussi vouloir définir une valeur binaire selon qu'il y a ou non un résultat supérieur à zéro, exemple :
SELECT IF(
COUNT(ec.ech_id) > 0,
1,
0
) AS echeancier
FROM etc...
Et ici le retour sera toujours égal à 0 ou 1 selon que le nombre de lignes trouvées est supérieur à zéro ou non.
Enfin bon, ce sont des possibilités, reste à savoir ce que veut réellement obtenir notre invité.
Tu m'as filé un doute, du coup j'ai fait quelques vérifications, et c'est toi qui a raison, j'ai fait une confusion : COUNT() retourne toujours un entier. Donc ma suggestion IFNULL sur un COUNT n'a pas de sens. Par contre on peut vouloir une valeur par défaut pour remplacer une valeur de retour égale à zéro, et dans ce cas c'est le IF() qu'il faut utiliser. On peut aussi vouloir définir une valeur binaire selon qu'il y a ou non un résultat supérieur à zéro, exemple :
[sql]SELECT IF(
COUNT(ec.ech_id) > 0,
1,
0
) AS echeancier
FROM etc...[/sql]
Et ici le retour sera toujours égal à 0 ou 1 selon que le nombre de lignes trouvées est supérieur à zéro ou non.
Enfin bon, ce sont des possibilités, reste à savoir ce que veut réellement obtenir notre invité.