Bonjour
je plante grave pour l'ecriture d'une requete SQL pour MySql
je suis en train d'ecrire une application de gestion de planning medical
je dispose de 2 tables:
Je veux lister via la requête que je cherche à écrire, la forme suivante
DATE MED1 MED2 MED3
01/01/2018 DUPONT TOTO DURAND
02/01/2018 TOTO DURAND DUPONT
Avec dans ma table med par exemple
ID MED_NOM
1 DUPONT
2 DURAND
3 TOTO
et dans ma table planning
ID DATE ID_MED1 ID_MED2 ID_MED3
1 01/01/2018 1 3 2
2 02/01/2018 3 2 1
j'arrive avec le debut de requete suivant , mais impossible d'editer MED2 et MED 3
Faut t'il creer une sous requete ?
Ci dessous mon ébauche de script , mais dès MED2 cela plante
SELECT planning.DATE, planning.ID_MED1, planning.ID_MED2, med.ID, med.MED_NOM AS MED1
FROM planning, med
WHERE planning.ID_MED1 = med.ID, planning.ID_MED2=MED.ID
Merci pour tout
Bien cordialement
Bonjour,
Ce n'est pas une bonne idée de mettre la liste des ID_MED dans la table planning
il faut plutot créer une table planning_med qui lie un medecin à un planning et qui reprend ID_PLANNING et ID_MED et une POSITION
Comme ça si tu veux connaitre le planning d'un médecin tu n'as pas à chercher dans trois champs
Si tu veux continuer avec ta solution, il faut que tu fasses 3 jointures avec 3 fois la table MED mais avec trois alias différents.
la solution la plus conne est :
select p.date, (select m.nom from med m where m.id=p.id_med1) as med1, (select m.nom from med m where m.id=p.id_med2) as med2, (select m.nom from med m where m.id=p.id_med3) as med3 from planning q;