Requête

Signaler
-
 easy -
Bonjour à tous,

je rencontre un souci pour écrire une requête...
Mes données :
TABLE GYMNASE :
ID = 1 / NOM = GYMNASE 1
ID = 2 / NOM = GYMNASE 2

TABLE SEANCE :
ID = 1 / JOUR = LUNDI / NOM = GYMNASE 1
ID = 2 / JOUR = MARDI / NOM = GYMNASE 2
ID = 1 / JOUR = MERCREDI / NOM = GYMNASE 1

Mon besoin est de savoir quel gymnase n'a pas de séance le Mercredi et du coup le Gymnase 1 ne doit pas remonter dans le résultat...

Merci beaucoup pour votre aide

1 réponse

Bonjour,

Déjà, ta structure de tables n'est pas bonne...

Ta table SEANCE devrait être sous la forme ( #ID, JOUR, ID_GYMNASE )
et contenir les données :
ID = 1 / JOUR = LUNDI / ID_GYMNASE = 1
ID = 2 / JOUR = MARDI / ID_GYMNASE = 2
ID = 1 / JOUR = MERCREDI / ID_GYMNASE = 1

Ensuite, pour la requête, il te suffit de faire une jointure et un WHERE

SELECT *
FROM SEANCE  S
LEFT JOIN GYMNASE  G  ON G.ID = S.ID_GYMNASE 
WHERE JOUR  NOT IN("MERCREDI")

oupss Petite erreur... dans la requête

SELECT *
FROM GYMNASE  G
WHERE G.ID NOT IN (
    SELECT ID_GYMNASE 
    FROM SEANCE  
    WHERE JOUR  NOT IN("MERCREDI")
  ) $

ça devrait mieux marcher.