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

 MySQL Discussion :

Transfert de toutes les valeurs de plusieurs champs vers une autre table


Sujet :

MySQL

  1. #1
    Membre régulier Avatar de Lenezir
    Inscrit en
    Février 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Février 2006
    Messages : 129
    Points : 89
    Points
    89
    Par défaut Transfert de toutes les valeurs de plusieurs champs vers une autre table
    Salut ^^
    Je voudrais transférer toutes les valeurs d'un champs d'une table vers une autre.
    J'ai trouvé la méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO ma_table (champs) VALUES SELECT (champ2) FROM mon_autre_table
    mais ça ne marche pas.
    J'utilise WAMP avec MySQL 5.0.45.
    Comment faire svp ?
    Merci ^^

  2. #2
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO ma_table (champs) SELECT (champ2) FROM mon_autre_table

  3. #3
    Membre régulier Avatar de Lenezir
    Inscrit en
    Février 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Février 2006
    Messages : 129
    Points : 89
    Points
    89
    Par défaut
    Merci ça marche très bien pour un seul champ (normal en fait) mais je voudrais faire ça avec plusieurs champs.
    J'ai une grosse table qui doit prendre la valeur de ses champs dans plusieurs tables.
    Alors j'ai fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO repertoire (service, fonction, nom) SELECT service.service, fonction.fonction, personnel.nom FROM service, fonction, personnel
    mais il a multiplié chaque champ entre eux ce qui fait qu'au lieu d'avoir 200 entrées j'en ai eu plus d'un million !
    Et si je rentre les données champ par champ, il me fait autant d'entrées qu'il y a avec le premier champ, puis d'autres entrées à la suite avec les autres champs...
    Je voudrais mettre tous les champs au même niveau.
    Comment faire ?
    Merci ^^

  4. #4
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    cela est normal

    sur quelle critere tu relies le service, la fonction et le nom dans tes différentes tables?

  5. #5
    Membre régulier Avatar de Lenezir
    Inscrit en
    Février 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Février 2006
    Messages : 129
    Points : 89
    Points
    89
    Par défaut
    Ah bah en fait je les avais pas reliées
    Désolé, étant débutant je ne connaissais pas cette "astuce".
    Mais on vient de m'expliquer.
    Je vais voir ce que ça donne de suite !
    Merci

  6. #6
    Membre régulier Avatar de Lenezir
    Inscrit en
    Février 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Février 2006
    Messages : 129
    Points : 89
    Points
    89
    Par défaut
    Hum il n'a pas voulu le méchant MySQL
    Voici ma requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO repertoire (id_service, id_fonction, id_pers) SELECT service.id_service, fonction.id_fonction, personnel.id_pers FROM service, fonction, personnel WHERE repertoire.id_service=service.id_service AND repertoire.id_fonction=fonction.id_fonction AND repertoire.id_pers=personnel.id_pers
    Alors voici la structure de mes tables.
    J'ai 4 tables.
    La table "repertoire" doit contenir les ID des 3 autres tables.
    L'ID de "service" est "id_service", celui de "fonction" est "id_fonction" et celui de "personnel" est "id_pers".
    En exécutant cette requête, j'ai le message : #1054 - Unknown column 'repertoire.id_service' in 'where clause'.
    Pourtant j'ai bien regardé, le champ "id_service" existe bien dans la table "repertoire".
    Moi je vois pas
    Merci de ton aide

  7. #7
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    mais non, il n'est pas méchant
    mais comment veux tu qu"il sache quel service de ta table service correspond à la fonction de ta table fonction
    Comment as tu ces infos?

    Donne un petit exemple de tes données de tes tables

  8. #8
    Membre régulier Avatar de Lenezir
    Inscrit en
    Février 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Février 2006
    Messages : 129
    Points : 89
    Points
    89
    Par défaut
    C'est vrai
    Maintenant que tu le dis, je me suis rendu compte que j'ai voulu faire à peut prêt n'importe quoi
    Je reverrai tout ça demain au taff et je te tiens au courant
    Merci !

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/04/2014, 11h02
  2. Réponses: 1
    Dernier message: 08/12/2010, 12h04
  3. [AC-2007] Récupérer en valeur par défaut la valeur d'un champ d'une autre table ?
    Par tibofo dans le forum Modélisation
    Réponses: 1
    Dernier message: 01/10/2009, 18h07
  4. Récupérer une valeur dans un champ d'une autre table
    Par Kareg dans le forum Modélisation
    Réponses: 15
    Dernier message: 24/10/2007, 14h16
  5. Réponses: 9
    Dernier message: 28/08/2007, 10h38

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