112 votes

Renvoyer une valeur si aucune ligne n’est trouvée dans Microsoft tSQL

En utilisant une version Microsoft de SQL, voici ma requête simple. Si j’interroge un enregistrement qui n’existe pas, je n’obtiendrai rien en retour. Je préférerais que false (0) soit renvoyé dans ce scénario. Vous recherchez la méthode la plus simple pour ne comptabiliser aucun enregistrement.

144voto

Moe Sisko Points 3370

Ceci est similaire à celui d’Adam Robinson, mais utilise ISNULL au lieu de COUNT.

Si la requête interne a une ligne correspondante, 1 est renvoyé. La requête externe (avec ISNULL) renvoie alors cette valeur de 1. Si la requête interne n’a pas de ligne correspondante, elle ne renvoie rien. La requête externe traite cela comme une valeur NULL, et donc l’ISNULL finit par renvoyer 0.

73voto

Adam Robinson Points 88472
<pre><code></code></pre>

30voto

anAgent Points 1222

Il peut s’agir d’un cheval mort, une autre façon de renvoyer 1 ligne lorsqu’aucune ligne n’existe est d’UNION une autre requête et d’afficher les résultats lorsqu’il n’existe pas dans la table.

16voto

alp Points 69

Quelque chose comme :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X