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

Langage SQL Discussion :

Renvoi de plusieurs champs dans une requête


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : mai 2013
    Messages : 28
    Points : 14
    Points
    14
    Par défaut Renvoi de plusieurs champs dans une requête
    Bonjour à tous,

    J'aimerais, par le biais d'une requête SQL, ramener plusieurs noms d'acteurs pour un film donné.

    Bien sur, j'ai construit ma table FILMS avec plusieurs clés étrangères (Acteur_1, Acteur_2, Acteur_3, etc.) et ce sont bien les mêmes types de données (Integer).

    Mes tables :

    FILMS (Id, Nom, Acteur_1, Acteur_2, Acteur_3)
    AUTEURS (Id, Nom)

    Mon soucis consiste à les ramener tous en même temps, dans des colonnes différentes. Pour ce faire, j'ai utilisé la requête suivante :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT f.Nom, a.Nom, a.Nom, a.Nom 
    FROM ACTEURS a, FILMS f
    WHERE a.Id=f.Acteur_1
    AND a.Id=f.Acteur_2
    AND a.Id=f.Acteur_3

    Cette dernière ne me renvoi rien.

    Merci d'avance pour votre aide.

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    août 2008
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2008
    Messages : 2 910
    Points : 5 729
    Points
    5 729
    Par défaut
    Citation Envoyé par PROJECT-AURORA Voir le message
    Bien sur, j'ai construit ma table FILMS avec plusieurs clés étrangères (Acteur_1, Acteur_2, Acteur_3, etc.)
    Malheureusement vous vous êtes fourvoyé dans la modélisation, il vous faut une table de relation :
    Quand faut-il une table associative ?
    Citation Envoyé par PROJECT-AURORA Voir le message
    Cette dernière ne me renvoi rien.
    A moins que acteur_1, acteur_2 et acteur_3 contiennent la même valeur id, cette requête ne peut rien renvoyer.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : mai 2013
    Messages : 28
    Points : 14
    Points
    14
    Par défaut
    Merci pour cette réponse rapide.

    Du coup, j'ai crée une table associative et ai mis mes clé étrangères dedans.
    Et j'arrive bien à récupérer ce que je veux.

    J'aimerais savoir comment mettre tous les auteurs dans une même ligne.

    J'ai vu qu'il y avait la fonction CONCAT mais je ne sais pas comment l'utiliser.

    Édit :

    C'est bon, j'ai trouvé, c'est un GROUP_CONCAT.

    en tout cas merci pour ton aide. J'ai bien avancé !

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

Discussions similaires

  1. [Requête] plusieurs champs dans une même table ayants la même source
    Par Christophe93250 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 25/04/2006, 17h18
  2. Pb de type de champs dans une requête
    Par djouahra.karim1 dans le forum Bases de données
    Réponses: 5
    Dernier message: 23/05/2005, 16h19
  3. Changement valeur d'un champ dans une requête
    Par Mimile28 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 07/04/2005, 15h28
  4. Ramener plusieurs champs dans une sous requête...
    Par David.V dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 12/01/2005, 08h54
  5. [SQL] Renommer un champ dans une requête
    Par martonpylon12 dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 15/11/2003, 02h59

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