MYSQL :JOIN, et résultats sur plusieurs lignes
Bonjour à tous,
NB : je ne savais pas trop quoi donner comme titre ???!!!!:oops:
J'ai actuellement une requête qui fonctionne, et j'en traite le résultat normalement en php.
J'essaye d'alléger considérablement le code, et d'alléger mes requêtes.
Et en voici une qui me pose souci, car elle me retourne plusieurs lignes.
La voici, et j'explique :
Code:
1 2 3 4 5 6 7
| SELECT acteurdeco.deco_acteur_id, acteurcostume.cost_acteur_id,
acteurmaquillage.maqui_acteur_id, acteurscenario.scenar_acteur_id
FROM acteurdeco
INNER JOIN acteurcostume ON ( deco_film_id = cost_film_id
AND deco_film_id =50610 )
LEFT JOIN acteurmaquillage ON ( maqui_film_id =50610 )
LEFT JOIN acteurscenario ON ( scenar_film_id =50610 ) |
Un film peut avoir de 0 à n acteurs, de 0 à n personnes de différents qui ne sont pas tous listés dans cette requete.
L'id du film est unique bien sur !
Mais le résultat donne ceci :
Code:
1 2 3 4 5 6 7 8 9 10
|
deco_acteur_id cost_acteur_id maqui_acteur_id scenar_acteur_id
118050 92111 180454 66314
118050 92111 180454 99257
118050 92111 180454 88259
118050 92111 180454 67988
118050 84259 180454 66314
118050 84259 180454 99257
118050 84259 180454 88259
118050 84259 180454 67988 |
Alors en php, je mets chaque colonne en array, puis array unique, puis recherche du nom de la personnalité (dans une autre DB)
Mais à votre avis, y a t-il plus simple, et donc objectivement meilleur en terme de perfs ?
Merci d'avance,
lenono
Faire 4 requetes SQL séparées
Tu peux faire 4 requêtes SQL séparées sur chaque table ( acteurdeco, acteurcostume , acteurmaquillage , acteurscenario ) avec une jointure sur la table avec des noms des personnes ( INNER JOIN ).