Bonsoir,
Avant de vous présenter mon problème je vais planter le décor :
Carte(ID, nom, ...)
Couleur(ID, label)
EtreDeCouleur(IDCarte, IDCouleur)
Donc ici il s'agit de carte (Magic the gathering pour la petite histoire). Une carte possède 1 ou plusieurs couleurs.
Le problème : sélectionner toutes les cartes qui sont NOIR et BLANCHE.
j'ai pensé à :
C'est bien ou pas bien ?
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 SELECT a.ID, a.Nom, a.Edition As EditionID, GROUP_CONCAT(c.Label) As CouleurLabel, d.Label As EditionLabel FROM carte AS a, etredecouleur AS b, couleur AS c, edition As d WHERE a.Edition=d.ID AND a.ID=b.IDCarte AND b.IDCouleur=c.ID AND (2) IN (SELECT IDCouleur FROM etredecouleur WHERE IDCarte=a.ID) AND (1) IN (SELECT IDCouleur FROM etredecouleur WHERE IDCarte=a.ID) GROUP BY ID
Merci d'avance.
Partager