remplacer un "no rows selected" par une valeur
Bonjour,
c'est un peu la suite de mon pb d'hier. j'ai des requètes SQL qui sont parsées par un pg PRO*C dont l'interface est non modifiable.
Quelles que soient les requètes, elles doivent renvoyer des valeurs : si no rows alors le tuple ('',0).
Jusqu'à présent, avec des max et des decode, j'arrivais à m'en sortir.
mais avec la requète suivante, j'ai un comportement étrange:
Code:
1 2 3 4 5
| select point_name,maxi from
(select point_name,cnt,MAX(cnt) over() as maxi from
(select point_name,count(*) as cnt from ops$ope.lev_app_cond where AIRPORT_NAME is not null group by POINT_NAME)
)
where cnt=maxi; |
Dans le cas ou il n'y a pas de réponse, la requète renvoie "no rows ...".
Si je fais
Code:
select max(point_name),max(decode(maxi,null,0,maxi)) ...
j'obtiens :
Code:
1 2
| MAX(P MAX(DECODE(MAXI,NULL,0,MAXI))
----- ----------------------------- |
Je mattendais à
Code:
1 2 3
| MAX(P MAX(DECODE(MAXI,NULL,0,MAXI))
----- -----------------------------
0 |
Sinon comment faire ?
Merci