Salut à tous !
Je vais reprendre mon analogie avec les voitures.
Le but c'est pouvoir rechercher des voitures selon leurs caractéristiques et d'afficher le tout.
Ma BDD actuelle:
table "voiture" champs:
->id
->marque_id
->couleur_id
->plaque_immatriculation
->pneu_id
etc..
puis:
table "marques" champs:
->id
->nom
table "couleur" champs:
->id
->nom
etc..
mais j'ai un problème, les pneus peuvent avoir des motif dessus: rond, carré, triangle, etc..
je fais donc:
table "motif" champs:
->id
->nom
puis:
table "pneu" champs:
->id
->nom
->motif_id
La requête: (enfin p'tète bien)
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT * FROM voiture JOIN couleur ON couleur.id = voiture.couleur_id JOIN pneu ON pneu.id = voiture.pneu_id JOIN motif ON motif.id = pneu.motif_id WHERE couleur = 'vert' AND pneu = 'michelin' AND motif = 'losange'
table "voiture" champs:
...
->motif_pneu_id
La requête:
Quel est la meilleure façon de faire? Et pourquoi?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT * FROM voiture JOIN couleur ON couleur.id = voiture.couleur_id JOIN pneu ON pneu.id = voiture.pneu_id JOIN motif ON motif.id = voiture.motif_pneu_id WHERE couleur = 'vert' AND pneu = 'michelin' AND motif = 'losange'
Partager