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

SQL Oracle Discussion :

UPDATE avec 3 tables


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 101
    Par défaut UPDATE avec 3 tables
    Bonjour,

    Vous êtes mon dernier espoir avant d'abandonner

    J'ai besoin de réaliser un UPDATE de 4 champs d'une table à partir d'une autre table mais pas lié directement, donc il y a une troisième table servant de lien.
    J'ai vu beaucoup de pages et d'exemples sur le web mais sous différent langages et différentes problématique, je ne parviens pas à reproduire un exemple avec mon cas de figure. des UPDATE avec un SELECT, des JOIN, ... mais aucune ne fonctionne à part celle ci mais cela effaces les données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    UPDATE SIEBEL.s_invoice aa
    SET (aa.x_adresse1, aa.x_adresse2, aa.x_adresse3, aa.x_adresse4) =
        (
        select cc.addr, cc.addr_line_2, cc.addr_line_3, cc.addr_line_4
        from SIEBEL.s_contact bb, SIEBEL.s_addr_per cc
        where bb.pr_per_addr_id = cc.row_id
        --and aa.bl_per_id = cc.row_id
        )
    WHERE aa.x_mode_indemnisation ='Bon de dédommagement'
    and aa.status_cd = 'A soumettre';

    Voici ce que je souhaite :



    Merci d'avance pour votre aide !
    Nico

  2. #2
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    A part le cas où vous voulez mettre à jour toute la table y compris les enregistrements n'ayant pas de correspondance dans la jointure, en général la syntaxe est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Update table
      set (col1, col2) In (Select col1, col2
                                  From t1 Join t2 ...
                                )
    Where predicat1
      And predicat 2
      And Exists (Select Null
                         From t1 Joint t2 ...
                     )
    Autre solution utilisez l'instruction Merge.

Discussions similaires

  1. Update avec deux tables... syntaxe normalisée ?
    Par Yves Archambault dans le forum Langage SQL
    Réponses: 2
    Dernier message: 03/02/2009, 20h46
  2. Update avec deux tables
    Par pasbonte dans le forum Requêtes
    Réponses: 2
    Dernier message: 11/01/2009, 22h01
  3. UPDATE avec 2 tables
    Par Tchupacabra dans le forum Langage SQL
    Réponses: 5
    Dernier message: 19/12/2006, 14h40
  4. Réponses: 4
    Dernier message: 26/09/2006, 18h28
  5. Tquery - update avec 2 tables
    Par spocksb dans le forum Bases de données
    Réponses: 6
    Dernier message: 16/08/2004, 08h39

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