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

Oracle Discussion :

Update avec Jointure entre 2 Tables


Sujet :

Oracle

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 23
    Points : 18
    Points
    18
    Par défaut Update avec Jointure entre 2 Tables
    Bonjour,

    Je rencontre des difficultés pour mettre à jour une table en lien avec une autre.
    Avant de poster ce message j'ai tenté beaucoup de choses mais certainement pas les bonnes.

    Je m'explique:

    je souhaite mettre a jour un champs X d'une table A par rapport à la valeur d'un champs Y d'une table B avec certaines conditions.

    le select qui fonctionne ressemble a cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT count (*)
    FROM T_RAISON_DE_SORTIE INNER JOIN T_INTERVENTION ON T_RAISON_DE_SORTIE.NUMERO_RAPPORT = T_INTERVENTION.NUMERO_RAPPORT
    WHERE (((T_INTERVENTION.ANNEE_RAPPORT)=2013) AND ((T_INTERVENTION.TYPE_RAPPORT)='I'));
    Mon update, même si je sais que visiblement sous ORACLE cela ne passe pas avec INNER JOIN était initialement celui là:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    UPDATE T_RAISON_DE_SORTIE INNER JOIN T_INTERVENTION ON T_RAISON_DE_SORTIE.NUMERO_RAPPORT = T_INTERVENTION.NUMERO_RAPPORT 
    SET  T_INTERVENTION.CODE_RAISON = [T_RAISON_DE_SORTIE]![NEW_CODE]
    WHERE (((T_INTERVENTION.ANNEE_RAPPORT)=2013) AND ((T_INTERVENTION.TYPE_RAPPORT)='I'));
    Merci de votre aide.

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 786
    Points
    30 786
    Par défaut
    Quelque chose comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    UPDATE  t_intervention  itv
    SET     itv.code_raison = 
            (   SELECT  srt.new_code
                FROM    t_raison_de_sortie  srt
                WHERE   srt.numero_rapport = itv.numero_rapport
            )
    WHERE   itv.annee_rapport = 2013
        AND itv.type_rapport  = 'I'
        AND EXISTS
            (   SELECT  NULL
                FROM    t_raison_de_sortie  rsn
                WHERE   rsn.numero_rapport = itv.numero_rapport
            )
    ;
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 23
    Points : 18
    Points
    18
    Par défaut
    Top

    Merci Ali_24

    C'est la partie EXISTS que je n'utilisais pas et qui je pense fait la différence.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Requête avec jointure entre 3 tables
    Par adt301 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 16/10/2014, 08h29
  2. Réponses: 4
    Dernier message: 24/09/2013, 10h17
  3. Réponses: 5
    Dernier message: 09/03/2012, 10h31
  4. [Débutant] select avec jointure entre 4 tables
    Par ulyssemac dans le forum Langage SQL
    Réponses: 2
    Dernier message: 25/11/2007, 19h39
  5. update jointure entre 2 tables
    Par papy_tergnier dans le forum SQL
    Réponses: 2
    Dernier message: 16/10/2007, 17h12

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