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

Requêtes MySQL Discussion :

Mettre le résultat de la jointure avec une autre table dans des colonnes


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 44
    Points : 41
    Points
    41
    Par défaut Mettre le résultat de la jointure avec une autre table dans des colonnes
    Bonjour,

    j'ai une table fiche et une table contrat :
    fiche
    -------------
    id_fiche
    nom_demandeur
    designation



    contrat
    -------------
    id
    id_fiche
    nom
    montant
    Actuellement, je fais la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT `fiche`.id_fiche, `fiche`.nom_demandeur, `fiche`.designation, 
      `contrat`.nom As nom_contrat, `contrat`.montant 
    FROM `fiche` 
    INNER JOIN `contrat` ON `fiche`.id_fiche = `contrat`.id_fiche
    j'obtiens ce résultat :
    id_fiche | nom_demandeur | designation | nom_contrat | montant |
    1012541 | the demandeur | la designation | contrat1 | 1000 |
    1012541 | the demandeur | la designation | contrat2 | 3000 |
    mais en fait, je voudrais plutôt avoir ceci :

    id_fiche | nom_demandeur | designation | contrat1 | contrat2 |
    1012541 | the demandeur | la designation | 1000 | 3000 |
    mais je ne sais pas comment faire!

  2. #2
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 22
    Points : 22
    Points
    22
    Par défaut
    Donc tu voudrais une requête qui te donne un nombre variable de colonnes 'contrat%' en fonction des résultats de cette même requête ? je ne pense pas que ça soit possible comme ça apres tu peux concatener tes resultats de contrats en un champ contrats :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT `fiche`.id_fiche, `fiche`.nom_demandeur, `fiche`.designation, GROUP_CONCAT(`contrat`.nom) AS nom_contrats, GROUP_CONCAT(`contrat`.montant )
    FROM `fiche` INNER JOIN `contrat` ON `fiche`.id_fiche = `contrat`.id_fiche
    GROUP BY `fiche`.id_fiche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    id_fiche  | nom_demandeur | designation     | nom_contrats      | montants  |
    1012541 | the demandeur   | la designation | contrat1,contrat2 | 1000,3000 |

  3. #3
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    Ce que tu cherches à faire est de la cosmétique et n'est pas le boulot du SGBD mais celui du programme qui interroge la BDD.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 44
    Points : 41
    Points
    41
    Par défaut
    merci pour vos réponse.
    Je pensais que c'était faisable en sql, mais en effet avec quelques lignes de code ça doit pouvoir fonctionner.

  5. #5
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Saluton,
    Tu peux t'inspirer de mon article sur la simulation d'un tableau croisé dynamique avec PHP et MySQL, le lien est dans ma signature.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 44
    Points : 41
    Points
    41
    Par défaut
    j'ai réussit à obtenir ce que je voulais avec un petit bout de code.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 21/10/2010, 22h34
  2. Plusieurs jointures avec une même table
    Par bstevy dans le forum Développement de jobs
    Réponses: 6
    Dernier message: 10/11/2009, 15h10
  3. Réponses: 4
    Dernier message: 15/03/2007, 20h32
  4. Réponses: 9
    Dernier message: 16/11/2006, 15h23

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