Bonjour,
J'ai une requete avec un count(*) avec des clauses where.
Est ce que l'on peut retourner 0 quand il n'y a pas de valeur retourné (no rows returned)
Merci.
Oracle 10g.
Bonjour,
J'ai une requete avec un count(*) avec des clauses where.
Est ce que l'on peut retourner 0 quand il n'y a pas de valeur retourné (no rows returned)
Merci.
Oracle 10g.
Utilisez la pseudo table DUAL avec un COALESCE ou un decode.
A +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
A priori, Count retounre toujours une valeur non ?
Tout à fait d'accord et si l'on ne suppose que grizzz s'est trompé et qu'il ne s'agit pas d'un COUNT(*) mais plutôt d'une sélection de colonnes "quelconques"Envoyé par Tofalu
alors il faut capturer l'exception dans un bloc :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 BEGIN SELECT ...; -- génère une exception NO_DATA_FOUND EXCEPTION WHEN NO_DATA_FOUND THEN -- traitement END;
sur que le count(*) retourne toujours une valeurs mais si je donne pas tous les détails
c'est bien un select avec un count(*) mais il y a d'autres colonnes dans le select et un group by.
J'avais regardé déjà COALESCE mais je n'ai pas abouti.
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT to_char(date_depart,'WW') AS SEMAINE,PAYS, COUNT (*) as DISPO FROM... WHERE... GROUP BY PAYS,to_char(date_depart,'WW') ORDER by SEMAINE
bah si la clause WHERE ne permet pas de sélectionner une semaine et un pays qu'est ce que tu veux qu'il affiche quand le compte est à 0 ?
Dommage, la solution se trouvait au milieu de tes petits points.... (par les jointures externes...)Envoyé par grizzz
![]()
Partager