IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

MYSQL :JOIN, et résultats sur plusieurs lignes [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 174
    Points : 241
    Points
    241
    Par défaut MYSQL :JOIN, et résultats sur plusieurs lignes
    Bonjour à tous,

    NB : je ne savais pas trop quoi donner comme titre ???!!!!

    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    NginX, SphinxSearch Addict !!

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 62
    Points : 84
    Points
    84
    Par défaut 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 ).

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 174
    Points : 241
    Points
    241
    Par défaut
    Citation Envoyé par kodeya Voir le message
    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 ).
    Bonjour et merci kodeya de ta réponse.

    C'est déjà ce que je fais, et pensais qu'il existait une solution miracle, n'étant un expert es-sql !

    Mon raisonnement de base était finalement le bon

    Merci, et bonne journée,

    lenono
    NginX, SphinxSearch Addict !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récuperer une seule ligne de résultat sur plusieurs
    Par vever dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/11/2009, 00h06
  2. Réponses: 1
    Dernier message: 03/10/2008, 13h29
  3. Réponses: 4
    Dernier message: 29/08/2008, 14h21
  4. TDBGrid - Un enregistrement sur plusieurs lignes
    Par BRODU dans le forum Bases de données
    Réponses: 2
    Dernier message: 09/05/2004, 07h53
  5. Define sur plusieurs lignes
    Par Gogoye dans le forum C
    Réponses: 6
    Dernier message: 06/10/2003, 11h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo