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 :

Requete sql un pti peu bizarre


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 40
    Points : 26
    Points
    26
    Par défaut Requete sql un pti peu bizarre
    bonjour a tous

    j'ai besoin de faire une requete toute bête au premier abord mais je n'y arrive pas.
    Voila mon probleme: dans ma base mysql j'ai une table contenant plusieurs champs dont deux qui m'interressent, qui correspondent chacun a un enregistrement dans une autre table. Pour faire plus simple dans une table mariage j'ai un champ identifiantMari et un autre champ identifiantEpouse.

    Maintenant j'ai besoin d'afficher le nom des époux et j'aimerai récupérer en une seule requete leurs informations personnelles.
    Et la je bloque un peu car je ne sais pas comment dire, ramène moi les infos du mari puis les infos de l'épouse

    Voila j'espere que c'est a peu pres clair !!

    Merci d'avance !

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    A priori ce que tu demandes est une jointure

    Quoi qu'il en soit, il nous faut plus d'informations sur le schéma de ta base :
    - les noms des tables que ta requête va appeler,
    - les noms des attributs de ces tables,
    - les relations entre ces tables (clés primaires : PK, clés étrangères : FK),
    - quelles informations veut-tu récupérer via ta requête SQL, etc.
    Modérateur des forums Oracle et Langage SQL
    Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum

  3. #3
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Elle est pas bizarre ta requête, c'est une requête de base avec jointures.

    Tu as besoin des tables Mariage, Mari et Epouse.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    FROM
       Mariage,
       Mari,
       Epouse
    Imaginons :
    Mariage : IdMari, IdEpouse, DateMariage
    Mari : IdMari, Nom, Prenom
    Epouse : IdEpouse, Nom, Prenom

    Tu veux récupérer le nom des mariés ainsi que leur date de mariage. Prenons donc les champs dont nous avons besoin

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT
       Mariage.DateMariage,
       Mari.Nom,
       Mari.Prenom,
       Epouse.Nom,
       Epouse.Prenom
    Ou bien faire des concaténations de nom :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT
       Mariage.DateMariage,
       Mari.Nom+' '+Mari.Prenom AS Mari,
       Epouse.Nom+' '+Epouse.Prenom AS Epouse
    Et les conditions pour que le mariage soit parfait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    WHERE
       Mariage.IdMari=Mari.IdMari AND
       Mariage.IdEpouse=Epouse.IdEpouse
    Et tu peux même les trier par date :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ORDER BY
       Mariage.DateMariage
    Tu obtiens donc comme requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT
       Mariage.DateMariage,
       Mari.Nom+' '+Mari.Prenom AS Mari,
       Epouse.Nom+' '+Epouse.Prenom AS Epouse
    FROM
       Mariage,
       Mari,
       Epouse
    WHERE
       Mariage.IdMari=Mari.IdMari AND
       Mariage.IdEpouse=Epouse.IdEpouse
    ORDER BY
       Mariage.DateMariage

  4. #4
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Si j'ai compris (pas sur)
    Table Mariage (IdEpouse, IdMari, ...)
    Table Personne (IdPersonne, NomPersonne, ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT e.NomPersonne AS Epouse, m.NomPersonne AS Mari
    FROM Mariage x INNER JOIN Personne e on x.IdEpouse = e.IdPersonne
                   INNER JOIN Personne m on x.IdMari   = m.IdPersonne
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

Discussions similaires

  1. Réponses: 8
    Dernier message: 22/06/2009, 18h06
  2. requete sql bizarre
    Par noumian dans le forum Langage SQL
    Réponses: 3
    Dernier message: 24/06/2008, 09h42
  3. Problème Requete SQL et QuickReport
    Par arnaud_verlaine dans le forum C++Builder
    Réponses: 7
    Dernier message: 07/01/2004, 09h31
  4. Paramètre requete SQL (ADOQuery)
    Par GaL dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/07/2002, 11h24
  5. Resultat requete SQL
    Par PierDIDI dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/07/2002, 13h43

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