J'ai une requête SQL qui pourrait potentiellement renvoyer des valeurs nulles, en cas de problème, je souhaite que la requête retourne '0'. Voici la requête
SELECT (select count(goal) from fixtures where goal='1' and fixture='$fixture') as goalCountHome from fixtures where fixture='$fixture'LIMIT 1
4 Réponses :
dans MySQL Utilisez une fonction ifnull (). Pour MSSQL, utilisez ISNULL () Fonction. P>
Si vous utilisez mysql, ifnull (
Si vous avez besoin de toutes les lignes et non des lignes où l'objectif n'est pas null, vous pouvez utiliser compter (*) sinon en général lorsque vous n'avez pas besoin de valeurs nulles dans MySQL, vous pouvez ifnull (votre_column, valeur) ou coalesce (votre_column, valeur) p> basé sur votre commentaire semble avoir besoin de somme (objectif) p> compte (objectif) code> retourner le numéro des rangées où l'objectif n'est pas nul
Count (*) CODE> Renvoie les lignes de nombre total sélectionnées p>
Fondamentalement, si un objectif n'a pas été marqué, je souhaite que le nombre de personnes reviennent zéro. À la minute où la requête renvoie NULL qui conduit alors à un préavis variable non défini dans mon PHP. Si le résultat est null, je veux qu'il retourne zéro donc je ne reçois pas cet avis
J'ai mis à jour la réponse parce que vous pourriez être que vous recherchez une somme conditionnelle au lieu d'un compte
Merci pour votre aide d'aide. Cependant, cette requête renvoie NULL dans la boîte au lieu de zéro
Réponse mise à jour en utilisant 1 au lieu de "1" pourrait être un objectif est un nombre
somme (ifnull (but, 0)) null
C'est ce qui est retourné
quel type de données est objectif? Et êtes-vous sûr qu'il y a des lignes pour $ fixture?
Cette requête: ne peut pas fort> retour La requête extérieure peut revenir aucune ligne em> mais qui est différente de Bien sûr, cette requête est globalement surcpliquée et devrait simplement être: p> Notez que vous devez passer des paramètres à l'aide des paramètres appropriés plutôt que de la requête mungue cordes. p> p> null code> valeurs. La sous-requête est une requête d'agrégation sans groupe par code>, de sorte qu'il retourne toujours une ligne. Cette ligne contiendra un résultat de compteur () code>. Nombre () CODE> peut ne jamais renvoyer un NULL code>. S'il n'y a pas de lignes, la valeur sera nulle. P> NULL code> NULL code>. < / p>
Coalesction (colonne, 0) code> retournera le premier argument non nul.quel db vous utilisez ??
@scAISEZ DÉSOLÉ. J'utilise phpmyadmin
Quelle colonne que vous voulez vérifier .. ?? but?
@SCaifinez oui but s'il vous plaît
Utilisez isnull () docs.microsoft.com/en-us/sql/t-sql/functions/.../a>
Comment fonctionner code> NULL peut être NULL dans votre définition de résultats lorsque vous avez une condition de contrôle que
objectif code> est 1?@SCaicedge Fondamentalement si un objectif n'a pas été marqué, je veux que le compte revienne zéro. À la minute où la requête renvoie NULL qui conduit alors à un préavis variable non défini dans mon PHP. Si le résultat est null, je veux qu'il retourne zéro donc je ne reçois pas cet avis