update A
set CTLIB = (SELECT B.APPL
FROM B
WHERE B.nrprs = A.nppr)
where A.cdappl = 0
Ca ne passe pas... existerait il une autre syntaxe qui m'éviterait de faire un update pour chaque record...?
Version imprimable
update A
set CTLIB = (SELECT B.APPL
FROM B
WHERE B.nrprs = A.nppr)
where A.cdappl = 0
Ca ne passe pas... existerait il une autre syntaxe qui m'éviterait de faire un update pour chaque record...?
Décrivez vos tables SVP en respectant ceci : http://www.developpez.net/forums/viewtopic.php?t=32668
Sans cela impossible de vous répondre !
D'autant plus que pour m'être fait engueu*** par SQLPro à ce propos :wink: selon la norme SQL, dans une requête UPDATE, vous ne pouvez pas mettre d'alias sur la table concernée.
Ca fonctionne , en fait le problème était qu'il n'existe pas toujours un enregistrement pour faire le lien dans la table B.
--> ainsi ca fonctionne (déso pas le temps pour expliquer les tables...)
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 update corobj.fcatm1d A set A.CTLIB = CASE WHEN (SELECT B.APPL FROM missdta.rlx100f B where B.nrprs = A.nppr) IS NULL THEN '???' else (SELECT B.APPL FROM missdta.rlx100f B where B.nrprs = A.nppr) end where A.cdappl = 0