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 :

données dans deux tables différentes


Sujet :

Langage SQL

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    620
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 620
    Points : 453
    Points
    453
    Par défaut données dans deux tables différentes
    Bonjour,

    J'ai besoin de faire une requête qui aille chercher des noms dans deux tables aux structures un peu différentes :
    table encours :
    ID, nom, etc.
    et table detruit :
    ID, ID_encours, nom, etc.

    Je connais un id qui correspond pour encours à ID et pour detruit à ID_encours... Je ne sais pas trop comment m'y prendre pour dire à SQL de chercher soit dans l'une soit dans l'autre ? (les deux tables sont complémentaires : ce qui n'est pas dnas l'une se trouve dans l'autre) ?

    Merci

    Hugo

  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
    un UNION?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    620
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 620
    Points : 453
    Points
    453
    Par défaut
    Bonjour Cybher,
    Merci de ta suggestion
    Je suis assez peu compétent en union... en SQL globalement, en fait... Il y a moyen de dire que la correspondance entre id doit se faire sur ID de la première table et ID_encours de la deuxième et qu'il doit prendre le nom correspondant là où il le trouve ? Je vois assez mal comment faire ça, en fait...

  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
    tu peux donner un petit exemple
    quelques lignes contenu dans chaque table et le résultat que tu souhaites?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    620
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 620
    Points : 453
    Points
    453
    Par défaut
    bien sûr !!
    par exemple :
    table encours :
    ID | nom |
    3 |nom3
    5 |nom5
    6 |nom6

    table detruit :
    ID | ID_encours | nom
    1 |1 |nom1
    2 |2 |nom2
    3 |4 |nom4

    et je veux faire une requête à qui je fournis $id et qui me renvoie le nom correspondant.
    Dans encours, ce $id correspond au champ ID et dans détruit au champ ID_encours.
    donc pour 1 le résultat doit être nom1 (de la table detruit), 3 => nom3 (de la table encours).
    Est-ce que c'est à peu près compréhensible ?

    Merci beaucoup

  6. #6
    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 790
    Points
    30 790
    Par défaut
    Une jointure ?

    Cours SQL
    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.

  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
    tu sais le faire pour une table? tu mets juste un UNION entre tes 2 requêtes

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    620
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 620
    Points : 453
    Points
    453
    Par défaut
    Merci à vous deux
    Pour une table ce serait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM encours WHERE 'ID=$id'
    et pour l'autre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM detruit WHERE 'ID_encours=$id'
    mais je vois mal comment imposer les deux WHERE d'un seul coup... ? Je nage un peu, là...

  9. #9
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * FROM encours WHERE 'ID=$id'
    UNION
    SELECT * FROM detruit WHERE 'ID_encours=$id'

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    620
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 620
    Points : 453
    Points
    453
    Par défaut
    Ah ! cash, simplement ? Merci beaucoup Ca me tire une belle épine du pied !

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/04/2009, 12h46
  2. [MySQL] Insérer dans deux tables différentes
    Par nita2006 dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 21/01/2008, 12h47
  3. Insertion de données dans 2 tables différentes.
    Par anthony_rexis dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 24/07/2007, 10h29
  4. recherche de donnée dans deux tables
    Par donny dans le forum Langage SQL
    Réponses: 3
    Dernier message: 21/06/2007, 20h41
  5. exporter les données entre deux tables différentes ?
    Par tizilfin dans le forum Oracle
    Réponses: 3
    Dernier message: 12/03/2007, 15h39

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