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

Langage SQL Discussion :

Update Inner join


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2012
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2012
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Update Inner join
    Bonjour
    J' ai deux tables
    Table1 (destination1, count1)
    Table2 (destination2, count2)
    Je veux rentrer la valeur de count2 dans count1 lorsque destination1=destination2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    UPDATE Table1
    INNER JOIN Table2
    ON Table1.Destination=Table2.Destination
    SET Table1.count=Table2.count;
    Mais ca marche pas des masses...
    Merci pour votre aide !

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Quel est votre SGBD ?

  3. #3
    Futur Membre du Club
    Inscrit en
    Décembre 2012
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2012
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Access 2007
    Merci !

  4. #4
    Membre éclairé Avatar de bstevy
    Homme Profil pro
    Solutions Architect
    Inscrit en
    Mai 2009
    Messages
    552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Japon

    Informations professionnelles :
    Activité : Solutions Architect
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2009
    Messages : 552
    Points : 870
    Points
    870
    Par défaut
    essayez peut etre comme cela (mais pas sur qu'Access accepte)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE Table1
    set Table1.count = coalesce( (select Table2.count from Table2 where Table1.Destination=Table2.Destination), Table1.count)

  5. #5
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 002
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonsoir,

    J’ai testé la requête de bstevy :

    Elle marche parfaitement avec MySQL, MS SQL Server, PostgreSQL (à condition avec ce dernier de remplacer « set Table1.count » par « set count »).

    Avec ACCESS, on a droit au message :

    « Operation must use an updateable query »

    Autrement dit, ACCESS n’aime manifestement pas que, lorsqu’on met à jour la table Table1, celle-ci participe à la sous-requête :

    select Table2.count from Table2 where Table1.Destination=Table2.Destination



    @Usjuan,

    Si ce n’est déjà fait, tentez votre chance en posant votre question dans le forum ACCESS (Requêtes et SQL) ...


    N.B. Avec ACCESS, la fonction COALESCE est à remplacer par la fonction Nz.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

Discussions similaires

  1. Requête update inner join
    Par cchasse98 dans le forum SQL
    Réponses: 2
    Dernier message: 21/03/2013, 10h01
  2. Update inner join (select sum())
    Par kika10 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 25/02/2013, 11h08
  3. Update INNER JOIN
    Par nats76 dans le forum Requêtes
    Réponses: 5
    Dernier message: 15/12/2012, 11h22
  4. Sql update inner join
    Par Jcpan dans le forum Requêtes
    Réponses: 3
    Dernier message: 14/07/2010, 15h20
  5. Update + inner join
    Par lungzatar dans le forum Requêtes
    Réponses: 6
    Dernier message: 03/03/2009, 10h20

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