le_nono | Merci de vos réponses !
Je suis en mysql, mais je verrai ultérieurement le pb du nombre retourné de résultat.
La table film est dans une autre base, je ne veux pas pour le moment faire de jointure dessus.
Voici le résultat de mon avancement, les explications à suivre :
Code :
- SELECT cast_acteur_id,cost_acteur_id,deco_acteur_id,Af_Acteur_Id,maqui_acteur_id,monteur_acteur_id,
- musi_acteur_id,photo_acteur_id,producteur_acteur_id,scenar_acteur_id,son_acteur_id,reafilmacteur_idact,
- IFNULL(cast_acteur_id,NULL),
- IFNULL(cost_acteur_id,NULL),
- IFNULL(deco_acteur_id,NULL),
- IFNULL(Af_Acteur_Id,NULL),
- IFNULL(maqui_acteur_id,NULL),
- IFNULL(monteur_acteur_id,NULL),
- IFNULL(musi_acteur_id,NULL),
- IFNULL(photo_acteur_id,NULL),
- IFNULL(producteur_acteur_id,NULL),
- IFNULL(scenar_acteur_id,NULL),
- IFNULL(son_acteur_id,NULL),
- IFNULL(reafilmacteur_idact,NULL)
- FROM acteurcasting
- LEFT JOIN acteurcostume ON acteurcasting.cast_film_id = acteurcostume.cost_film_id
- LEFT JOIN acteurdeco ON acteurcostume.cost_film_id = acteurdeco.deco_film_id
- LEFT JOIN acteurfilm ON acteurdeco.deco_film_id = acteurfilm.Af_Film_Id
- LEFT JOIN acteurmaquillage ON acteurfilm.Af_Film_Id = acteurmaquillage.maqui_film_id
- LEFT JOIN acteurmonteur ON acteurmaquillage.maqui_film_id = acteurmonteur.monteur_film_id
- LEFT JOIN acteurmusique ON acteurmonteur.monteur_film_id = acteurmusique.musi_film_id
- LEFT JOIN acteurphoto ON acteurmusique.musi_film_id = acteurphoto.photo_film_id
- LEFT JOIN acteurproducteur ON acteurphoto.photo_film_id = acteurproducteur.producteur_film_id
- LEFT JOIN acteurscenario ON acteurproducteur.producteur_film_id = acteurscenario.scenar_film_id
- LEFT JOIN acteurson ON acteurscenario.scenar_film_id = acteurson.son_film_id
- LEFT JOIN reafilmacteur ON acteurson.son_film_id = reafilmacteur.reafilmacteur_idfilm
- WHERE
- reafilmacteur.reafilmacteur_idfilm = 17061
|
Alors pourquoi tout ça ??
1/ une requete est plus rapide que 10 !
2/ tout récupérer d'un jet.
Contraintes problématiques :
Si un seul champ est à nul, alors plus mysql_num_rows = 0 !
Le nombre de résultat par type est totalement variable : de 1 à n ...
La description de la table film n'apportera rien saut à dire qu'il y a un ID unique et qu'on retrouve dans les champs idfilm ou film_id selon la fonction des personnes sur le plateau. Chacune de ces tables fait le lien film(idfilm)-->lien(idfilm/idpersonne)-->personne(idpersonne)
Voilà !
En tout cas, merci à tous et bon ouique ;-) Message édité par le_nono le 16-09-2006 à 21:33:51
|