J'ai exécuté la requête Regime_allocations_part2_CMSA qui ne rend aucun enregistrement (sans vérifier si c'est le résultat attendu ou non mais à première vue la requête me semble correcte) .

On est donc bien dans le cas de mon "théorème" : "s'il n'y a pas d'enregistrement dans l'ensemble de données les deux fonctions [COUNT(*) ou COUNT(champ)] renvoient 0."

Donc je ne comprends pas pourquoi on ne récupère pas 0.


Le 21/04/2010 23:51, Docgranville a écrit :
ribotb a écrit :
Ça devrait renvoyer 0 :
"COUNT(*) et COUNT(FieldName) ne renvoient jamais NULL :* s'il n'y a pas d'enregistrement dans l'ensemble de données les deux fonctions renvoient 0.* Ainsi, COUNT(FieldName) renvoie 0 si tous les champs FieldName dans l'ensemble de données sont
NULL.".

Je suis" sec" .

Je rappelle ce que j'ai dit dans mon second message (celui de 19h04) et dont je pense qu'il faut y voir l'origine de la difficulté rencontrée par Marie-Pierre : sa requête porte sur une vue (donc sur le résultat d'une requête) qui elle même ne renvoie AUCUN tuple ; la vue ne comportant donc aucun enregistrement, je pense que l'instruction ifnull ne peut pas remplir son office ; cette instruction peut substituer une valeur spécifique à un champ "null" d'un tuple mais encore faut-il qu'il y ait un tuple ; en l'occurrence (c'est un cas particulier) il n'y a pas de champ "null" auquel substituer la valeur définie, puisque ce champ n'existe pas (il n'existe que quand il y a un tuple pour le porter).

C'est l'explication qui m'apparaît la plus plausible pour le résultat constaté.

A+



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: users-h...@fr.openoffice.org




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: users-h...@fr.openoffice.org

Répondre à