MySQL gestion & multi-table 2 le retour !
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):aie:
Code:
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' |
ou
table "voiture" champs:
...
->motif_pneu_id
La requête:
Code:
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' |
Quel est la meilleure façon de faire? Et pourquoi?