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 :

Copie d'un champ d'une table à une autre


Sujet :

Langage SQL

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Par défaut Copie d'un champ d'une table à une autre
    Bonjour,

    il est possible de copier une table vide.

    Mais est-il possible de copier seulement un champ d'une table dans une autre table?

    Par exemple :

    Table 1 :
    Nom(id) Prénom Fonction(id)

    Table 2 :
    Fonction(id) Bureau Salaire(id)

    Table 3 :
    Salaire(id) Tranche

    j'aimerais copier les noms dans la table 3 pour avoir :

    Table 3 :
    Salaire(id) Tranche Nom(id)

    Dans mon exemple quelle requete SQL je dois faire pour copier les nom de la table 1 apparaissent dans ma table 3, pour retruvé avec un salaire donné le nom de la personne qui le perçoit.

    Pour simplifier le problème, tout les noms, salaires, tranche etc sont uniques (avec un id)

    Merci d'avance.

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 953
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 953
    Par défaut
    Citation Envoyé par dodo91 Voir le message
    pour retruvé avec un salaire donné le nom de la personne qui le perçoit.
    Salut,

    Utilise des jointures pour obtenir ton resultat, un SGBD c'est fait pour ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select t1.nom,t1.prenom
    from table1 t1 
    join table2 t2 on t1.fonction=t2.fonction
    join table3 t3 on t2.salaire=t3.salaire
    where t3.tranche = '25k-35k'

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Par défaut
    Bonjour,

    en fait tranche est un exemple, je veux juste copier un champ d'une table vers 1 autre.

    dans ma table 3 il me faudrait : le nom de la personne (table 1) et le salaire qu'elle perçoit (table 3)

    cela équivaudrait à copier le nom de la table 1 dans la table 3.

    fonction est un lien entre table 1 et 2
    salaire est un lien entre table 2 et 3
    je pense donc que c'est possible mais je bloque.
    toutes les fonctions est salaires sont unique (les fonctions sont uniques : secretaire, employé1,employé2 etc... et les salaires sont tous différents)

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    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 454
    Par défaut
    Quel est l'intérêt de copier une donnée que vous avez déjà dans une autre table ?

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Par défaut
    tout simplement pour faire un affichage du résultat

    admettons que mon appli me propose un menu déroulant ou je peux choisir uniquement le nom.

    et bien j'aimerais voir le salaire s'afficher dans une zone.
    et ce salaire n'est pas dans la meme table.
    donc soir je copie ce champ, sois il faudrais que je fasse une requete pour aller chercher ce champ du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT salaire
    FROM {table3}{table2}{table3}
    WHERE table3.salaire = table2.salaire
    AND table2.fonction = table1.fonction
    AND table1.nom = ?
    mais je n'y arrive pas ...donc j'aimerais voir si en copiant ce champs j'y arrive.

    ++

  6. #6
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    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 454
    Par défaut
    Et bien la réponse de skuatamad est la bonne.

    Si vous ne savez pas faire les jointures il y a d'excellents tutoriaux sur ce site, mais ne compensez pas vos lacunes techniques par une solution complètement irrationnelle et inadaptée.

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Par défaut
    merci quand meme skuatamad

    Cordialement ...

  8. #8
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Par défaut
    Bonjour dodo91,

    Code dodo91 : Sélectionner tout - Visualiser dans une fenêtre à part
    admettons que mon appli me propose un menu déroulant ou je peux choisir uniquement le nom

    Ce serait une mauvaise idée car en cas d'homonyme, c'est le clash

    Quel SGBDR utilisez vous ?

    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  9. #9
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Par défaut Bonjour, j'espere que ces infos répondent à la question
    MySQL

    * Serveur: localhost via TCP/IP
    * Version du serveur: 5.1.30-community
    * Version du protocole: 10
    * Utilisateur: **********
    * Jeu de caractères pour MySQL: UTF-8 Unicode (utf8)

    Serveur web

    * Apache/2.2.11 (Win32) PHP/5.2.8
    * Version du client MySQL: 5.0.51a
    * Extension PHP: mysqli

    phpMyAdmin

    * Version: 3.1.1

Discussions similaires

  1. [MySQL] Copie d'une table à l'autre + mise a jour d'un champ dans la table d'arrivée
    Par reventlov dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 28/06/2012, 15h10
  2. Réponses: 3
    Dernier message: 22/04/2006, 06h05
  3. Réponses: 6
    Dernier message: 25/03/2006, 17h46
  4. Copie d'une table à une autre
    Par papipasto dans le forum Requêtes
    Réponses: 1
    Dernier message: 21/03/2006, 17h02
  5. fusion de plusieurs champs d'une table à une autre
    Par reolik dans le forum Requêtes
    Réponses: 1
    Dernier message: 16/02/2006, 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