[ORACLE 9i] Sous-interrogation dans la projection
Bonjour,
A l'exécution de la requête ci-dessus j'ai le message d'erreur suivant:
erreur: Code:-1427 Message:ORA-01427: single-row subquery returns more than one row
Donc ma sous-interrogation dans la projection me ramène plus d'une ligne pour faire
le DECODE ce qui veut dire dans mon cas qu'on a deux types différents du DECODE (en l'occurence 1 et 3)
pour une même ligne.
Pour règler ce problème et donc ne ramener qu'une ligne, je veux retenir la date maximum.
Comment faire ?
SELECT at2f.at2fcodefouarpe
, at2f.at2fdatcap
, at2f.at2fdatcatpre
, DECODE(
(
SELECT 1 code
FROM dual
WHERE to_char(SYSDATE, 'YYYY-MM-DD') >= at2f.at2fdatcatpremax
UNION ALL
SELECT 2 code
FROM dual
WHERE to_char(SYSDATE, 'YYYY-MM-DD') < at2f.at2fdatcatpremax
AND to_char(SYSDATE, 'YYYY-MM-DD') > at2f.at2fdatcatpremin
UNION ALL
SELECT 3 code
FROM dual
WHERE to_char(SYSDATE, 'YYYY-MM-DD') <= at2f.at2fdatcatpremin
)
, 1
, at2f.at2fdatcatpremax
, 2
, at2f.at2fdatcatpremax
, 3
, at2f.at2fdatcatpremin
)
, at2f.at2fdatcatpremax
, at2f.at2fdatcatpremin
, at2f.at2fcodeucarpe
FROM at2f_arpefop at2f
WHERE at2f.at2fflagmaxetatembal = 'O'
AND at2f.at2fflagmaxindproachat = 'O'