OVH Cloud OVH Cloud

problème avec select imbriqué (sur AS400)

1 réponse
Avatar
marchepied
Bonjour,
Le SQL (simplifié) ci-dessous ne génére rien à cause du SELECT imbriqué:

C+ SELECT ( '2000' CONCAT ';' CONCAT
C+ Char(
C+ (Select VALEURNUM from PFTABLE where
C+ RECTYPE = '20000' and CHAMP = 'ZZ025'
C+ and CUSTID = obj.code))
C+ ) as ENREG
C+ FROM PFNOBJ obj,

Si tout les obj.code sont trouvé dans le fichier PFTABLE, le SQL fonctionne
bien.
Mais des qu'un obj.code n'est pas trouvé dans PFTABLE, le SQL ne génére rien
(le fichier en sortie est vide)
je voudrai que, même si il ne trouve pas l'equivalence dans PFTABLE, qu'il
me crée les enregistrements et avec la zone concerné vide.
merci pour votre aide.
marchepied

1 réponse

Avatar
SQLpro [MVP]
marchepied a écrit :
Bonjour,
Le SQL (simplifié) ci-dessous ne génére rien à cause du SELECT imbriqué:

C+ SELECT ( '2000' CONCAT ';' CONCAT
C+ Char(
C+ (Select VALEURNUM from PFTABLE where
C+ RECTYPE = '20000' and CHAMP = 'ZZ025'
C+ and CUSTID = obj.code))
C+ ) as ENREG
C+ FROM PFNOBJ obj,

Si tout les obj.code sont trouvé dans le fichier PFTABLE, le SQL fonctionne
bien.
Mais des qu'un obj.code n'est pas trouvé dans PFTABLE, le SQL ne génére rien
(le fichier en sortie est vide)
je voudrai que, même si il ne trouve pas l'equivalence dans PFTABLE, qu'il
me crée les enregistrements et avec la zone concerné vide.
merci pour votre aide.
marchepied




Essayez de faire une UNION avec une ligne fantôme qui n'apparaitra qu'en
cas d'inexistance de tuple dans la sous requête.
Utilisez le EXISTS et prenez une ligne d'une table dont vous avez
l'assurance qu'elle existe toujours...


SELECT ( '2000' CONCAT ';' CONCAT
Char( (Select VALEURNUM
from PFTABLE
where RECTYPE = '20000'
and CHAMP = 'ZZ025'
and CUSTID = obj.code
UNION
SELECT ''
FROM ...
WHERE ...
AND NOT EXISTS(Select VALEURNUM
from PFTABLE
where RECTYPE = '20000'
and CHAMP = 'ZZ025'
and CUSTID = obj.code)))) as ENREG
FROM PFNOBJ obj,

A +


--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************