Oracle
 sql >> Base de données >  >> RDS >> Oracle

SELECT SUM renvoie une ligne lorsqu'il n'y a aucun enregistrement

"Je m'attendais à recevoir un "Aucun enregistrement trouvé" alors qu'il n'y avait aucun enregistrement, mais à la place, je reçois un résultat nul."

Alors faites

SELECT SUM(dummy) FROM DUAL WHERE 1=2 HAVING COUNT(*) > 0

C'est-à-dire, spécifiez que vous souhaitez uniquement renvoyer un résumé où il y avait des lignes qui ont été prises en compte.

SELECT SUM(dummy) FROM DUAL WHERE 1=2 HAVING SUM(dummy) IS NOT NULL

est similaire, mais COUNT(*) renverrait une ligne récapitulative s'il n'y avait que des lignes pour lesquelles la valeur fictive était nulle, alors que ce dernier ne le ferait pas.