Bonsoir,
J'ai une BD DB2 avec 2 tables :
T1
et
T2
Dans la table T1, il y'a une colonne matricule et une colonne DATAS qui contient toutes les donn�es. Du coup, pour acc�der aux donn�es on est oblig� d'utiliser la fonction substring et de jouer sur les positions.
On me demande de mettre � jour, pour chaque matricule de T1, la zone substring(DATAS,1654,30) de T1 avec la valeur INCOD de T2.
La jointure doit se faire entre substr(t1.DATAS,90,6) de T1 et VACOD de T2 pour ramener le libelle INCOD de T2 afin de mettre � jour la zone substring(DATAS,1654,30) de T1.
Avec un update et un inner join, ca devrait marcher mais j'ai lorsque j'ex�cute dans DB2 ca ne fonctionne pas (le message est : [SQL0199] Le mot cl� INNER est mal plac� ...). Jai lu que inner join avec update n'est pas accept�. Du coup je gal�re pour trouver une solution.
Apr�s avoir parcouru les forums il semble que je dois passer par des sous requ�tes mais je n'y arrive pas.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3 update T1 inner join T2 on substr(t1.DATAS,90,6)=t2.VACOD from T1 set t1.DATAS=concat(substring(DATAS,1,1653),concat(substr(t2.incod,1,30), substr(t1.DATAS,1685,1800)));
Pouvez vous m'assiter svp ?
Partager