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 :

Un select fait par rapport à deux tables ?


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2013
    Messages : 31
    Points : 26
    Points
    26
    Par défaut Un select fait par rapport à deux tables ?
    Bonjour à tous,


    Un soucis je pense qui doit être simple pour vous, mais je ne sais pas trop où me tourner ou s'il y a un nom spécial à cette commande spécifique.

    Voici deux tables

    la table resto

    Nom : 2014-07-06 11_23_43.png
Affichages : 106
Taille : 2,0 Ko

    la table repas

    Nom : 2014-07-06 11_23_26.png
Affichages : 107
Taille : 5,1 Ko


    Ce que je cherche à obtenir serait la chose suivante

    Nom : 2014-07-06 11_27_29.png
Affichages : 100
Taille : 6,5 Ko


    Du haut de mon grand statut de newbie, je croyais naivement que faire quelque chose du genre...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select repas.semaine,repas.HeureLundi, resto.nomResto,repas.HeureMardi,resto.nomResto
    from repas,resto
    where
    repas.LieuLundi=resto.id
    ... aurait résolu le soucis, mais les nom ne correspondent pas aux ID, et si je rajoute les autres jours, je n'ai aucun résultat.
    Nom : 2014-07-06 11_32_28.png
Affichages : 101
Taille : 3,2 Ko



    Donc, auriez vous une idée sur le comment réaliser cette opération ?

    Pour info, ici, c'est en SQLite que j'essaye de réaliser cela.



    Merci à vous

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 099
    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 099
    Points : 28 389
    Points
    28 389
    Par défaut
    Il faut faire appel à la table resto autant de fois qu'il y a de référence dans la table repas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT  repas.semaine
        ,   repas.HeureLundi
        ,   resto1.nomResto
        ,   repas.HeureMardi
        ,   resto2.nomResto
    FROM    repas
        INNER JOIN
            resto   resto1
            ON  repas.LieuLundi = resto1.id
        INNER JOIN
            resto   resto2
            ON  repas.LieuMardi = resto2.id
    ;

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2013
    Messages : 31
    Points : 26
    Points
    26
    Par défaut
    Merci !

    En effet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    SELECT  repas.semaine
        ,   repas.HeureLundi
        ,   resto1.nomResto
        ,   repas.HeureMardi
        ,   resto2.nomResto
        ,   repas.HeureMercredi
        ,   resto3.nomResto
        ,   repas.HeureJeudi
        ,   resto4.nomResto
        ,   repas.HeureVendredi
        ,   resto5.nomResto
    FROM    repas
        INNER JOIN
            resto   resto1
            ON  repas.LieuLundi = resto1.id
        INNER JOIN
            resto   resto2
            ON  repas.LieuMardi = resto2.id
        INNER JOIN
            resto   resto3
            ON  repas.LieuMercredi = resto3.id
    INNER JOIN
            resto   resto4
            ON  repas.LieuJeudi = resto4.id
    INNER JOIN
            resto   resto5
            ON  repas.LieuVendredi = resto5.id
    ;

    C'est donc de INNER JOIN dont j'avais besoin, que je ne connais que trop peu, voire pas du tout

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

Discussions similaires

  1. Mise à jour d'une nouvelle table par rapport à deux autres existantes
    Par drake56 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 20/07/2011, 17h13
  2. Recherche dans table de BDD par rapport à deux champs
    Par kiops dans le forum Bases de données
    Réponses: 4
    Dernier message: 09/03/2007, 12h21
  3. [c#]commande Select avec jointure de deux tables
    Par chorokari dans le forum Accès aux données
    Réponses: 6
    Dernier message: 18/10/2006, 14h47
  4. [MySQL] Select count par rapport à une date
    Par ruty dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 02/04/2006, 22h17
  5. [SELECT] sélection croisée entre deux tables
    Par WriteLN dans le forum Langage SQL
    Réponses: 4
    Dernier message: 22/03/2005, 11h05

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