IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

DB2 Discussion :

Requ�te update et inner join


Sujet :

DB2

  1. #1
    Membre confirm�
    Inscrit en
    Avril 2007
    Messages
    110
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 110
    Par d�faut Requ�te update et inner join
    Bonsoir,

    J'ai une BD DB2 avec 2 tables :

    T1
    Nom : T1.jpg
Affichages : 270
Taille : 360,7 Ko


    et
    T2
    Nom : T2.jpg
Affichages : 264
Taille : 70,1 Ko

    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.

    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)));
    Apr�s avoir parcouru les forums il semble que je dois passer par des sous requ�tes mais je n'y arrive pas.
    Pouvez vous m'assiter svp ?

  2. #2
    Expert confirm�
    Homme Profil pro
    Responsable Donn�es
    Inscrit en
    Janvier 2009
    Messages
    5 428
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : Responsable Donn�es

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 428
    Par d�faut
    Bonjour,
    Je ne connais pas DB2, mais dans SqlServeur la bonne syntaxe est :
    Code sql : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    update t1
    set t1.colx = ''
    from LaTable as t1
    inner join LautreTable as t2
    on t1.id = t2.idt1
    where ...

    Tatayo.

  3. #3
    Membre confirm�
    Inscrit en
    Avril 2007
    Messages
    110
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 110
    Par d�faut
    Justement, cela ne fonctionne avec DB2. Il me faut trouver un autre moyen.

  4. #4
    Expert confirm�
    Homme Profil pro
    Responsable Donn�es
    Inscrit en
    Janvier 2009
    Messages
    5 428
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : Responsable Donn�es

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 428
    Par d�faut
    Alors avec une sous requ�te, d'apr�s ce que j'ai trouv�:
    Code sql : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    update LaTable as t1
    set LaColonne = 
    (
    select AutreColonne 
    from AutreTable as t2
    where t1.Col1 = t2.Colt1
    )
    where exists
    (
    select 1
    from AutreTable as t2
    where t1.Col1 = t2.Colt1
    )
    Tatayo.

  5. #5
    Membre confirm�
    Inscrit en
    Avril 2007
    Messages
    110
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 110
    Par d�faut
    Merci beaucoup c'est bon

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Probl�me avec UPDATE et INNER JOIN
    Par korbn dans le forum Requ�tes
    R�ponses: 2
    Dernier message: 25/05/2009, 20h52
  2. [MySQL] UPDATE et INNER JOIN
    Par korbn dans le forum PHP & Base de donn�es
    R�ponses: 1
    Dernier message: 25/05/2009, 14h27
  3. probleme update et inner join
    Par makaphrodite dans le forum Bases de donn�es
    R�ponses: 3
    Dernier message: 13/04/2009, 11h44
  4. UPDATE et INNER JOIN
    Par korbn dans le forum Requ�tes
    R�ponses: 4
    Dernier message: 22/11/2008, 04h28
  5. UPDATE avec INNER JOIN
    Par steelidol dans le forum MS SQL Server
    R�ponses: 11
    Dernier message: 03/03/2006, 23h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo