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] copier les valeurs d'un champ d'une table dans une autre table.


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 15
    Points : 12
    Points
    12
    Par défaut [Update] copier les valeurs d'un champ d'une table dans une autre table.
    Bonjour à tous,

    J'ai un petit soucis avec une requête, voici les deux tables qui me sont utiles :

    articles(id, titre, desc, date, popularite)
    meta(id, id_article, title, desc)

    Et je souhaite récupérer les valeurs du champ title de la table meta et les updater dans le champ titre de la table articles. Et ceci en fonction de l'id article.

    J'ai essayé avec une requête de ce genre mais pas concluant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    UPDATE articles
    SET articles.titre = meta.title 
    INNER JOIN meta ON meta.id_article = articles.id
    Merci d'avance pour votre aide.

  2. #2
    Membre actif Avatar de hazamor
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2008
    Messages : 179
    Points : 206
    Points
    206
    Par défaut
    Essayez avec ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE articles
    INNER JOIN meta ON meta.id_article = articles.id 
    SET articles.titre = meta.title

  3. #3
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 386
    Points
    18 386
    Par défaut
    Les syntaxes Updates sont très différentes en fonction des SGBD, merci de le préciser.
    En Oracle ça donnerait, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    UPDATE articles a
    SET a.titre = (select m.titre from meta m
                   where m.id_article = a.id)
    WHERE EXISTS (select null from meta m
                  where m.id_article = a.id)

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Merci beaucoup ça marche...

    J'avais oublié de préciser que je travaille sous SQL Server, la réponse de hazamor me convient donc parfaitement même si je pensais l'avoir déjà essayée.

    Merci à vous deux.
    @+

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/06/2015, 11h10
  2. UPDATE regrouper les valeurs d'un champ
    Par hammag dans le forum SQL
    Réponses: 4
    Dernier message: 31/07/2012, 11h17
  3. [Toutes versions] coller les données d'une plage d'une cellule dans une cellule d'une autre feuille[VBA]
    Par arthson dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/01/2012, 17h37
  4. [AC-2003] Lier les tables d'une Base1 dans une Base3 via une Base2
    Par ted the Ors dans le forum VBA Access
    Réponses: 0
    Dernier message: 30/12/2009, 11h58
  5. Réponses: 2
    Dernier message: 14/07/2009, 08h45

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