Bonjour

J'ai une requête qui ne renvoie qu'un seul champ integer (avec valeur supérieur à 0).
Selon les paramètre utilisé, je peux ne recevoir aucune ligne de résultat.
Je voudrais, si la requête ne renvoie pas de ligne de résultat, obtenir une ligne avec la valeur 0 dans le champ.

Dans une procédure stockée, j'utilise @@ROWCOUNT pour tester le nombre de lignes renvoyées.
J'ai trouvé une solution pour faire ça directement dans la requête mais je me demandais s'il y a une autre astuce plus élégante.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
SELECT T.num
FROM   (SELECT TOP 1 num
        FROM   table1
        WHERE  num BETWEEN 161 AND 200 AND Dispo > 0
        UNION
        SELECT 0 num) T
ORDER  BY T.num DESC