Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/09/2008, 12h53   #1
Membre du Club
 
Inscription : novembre 2007
Messages : 758
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 758
Points : 44
Points : 44
Par défaut Jointures

Rebonjour, de retour

j'ai encore une toute petite question en SQL, je ne sais pas si tu peux me repondre!!

j'ai 3 tables : articles et articles_auteurs et auteurs :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
articles :
id | titre | ...
-------------------------
10  Mon titre
 
articles_auteurs:
id_article | id_auteur
-------------------------
10         100
10         152
 
auteurs
id  | nom
-----------------------
100   Dupont
152   Martin
est ce possible d'avoir en une requete le titre de l'article 10 et ses DEUX auteurs??

un grand merci
redah75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2008, 15h30   #2
Expert Confirmé
 
Avatar de Eusebe
 
Inscription : mars 2006
Messages : 1 989
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : mars 2006
Messages : 1 989
Points : 3 606
Points : 3 606
Bonjour,

C'est possible, quelque chose comme :
Code sql :
1
2
3
4
SELECT articles.titre, auteurs.nom
FROM articles JOIN articles_auteurs ON articles.id = id_article
    JOIN auteurs ON id_auteur = auteurs.id
WHERE articles.id = 10
Eusebe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2008, 15h51   #3
Expert Confirmé
 
Avatar de Maljuna Kris
 
Homme Avcxjo MoKo
Retraité
Inscription : novembre 2005
Messages : 2 531
Détails du profil
Informations personnelles :
Nom : Homme Avcxjo MoKo
Âge : 60

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

Informations forums :
Inscription : novembre 2005
Messages : 2 531
Points : 3 524
Points : 3 524
Saluton,
Pour avoir tous les auteurs (1,2,3,..., n) d'un article dans la même ligne de résultat, il te faut recourir à la fonction GROUP_CONCAT
Maljuna Kris est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2008, 15h59   #4
Membre du Club
 
Inscription : novembre 2007
Messages : 758
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 758
Points : 44
Points : 44
Citation:
Envoyé par Eusebe Voir le message
Bonjour,

C'est possible, quelque chose comme :
Code sql :
1
2
3
4
SELECT articles.titre, auteurs.nom
FROM articles JOIN articles_auteurs ON articles.id = id_article
    JOIN auteurs ON id_auteur = auteurs.id
WHERE articles.id = 10
si je fais comme ca et que j'ai 3 auteurs par exemple, titre va se repeter 3 fois.
j'aurai un resultat qui resemble a ca:
Mon titre | Dupont
Mon titre | Martin
...

Citation:
Pour avoir tous les auteurs (1,2,3,..., n) d'un article dans la même ligne de résultat, il te faut recourir à la fonction GROUP_CONCAT
tu peux etre plus precis stp?? je ne connas pas GROUP_CONCAT!!
redah75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2008, 16h07   #5
Expert Confirmé
 
Avatar de Eusebe
 
Inscription : mars 2006
Messages : 1 989
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : mars 2006
Messages : 1 989
Points : 3 606
Points : 3 606
Voir la doc Mysql :
http://dev.mysql.com/doc/refman/5.0/...functions.html

Un exemple de requête, non testée :
Code :
1
2
3
4
5
SELECT articles.titre, GROUP_CONCAT(auteurs.nom SEPARATOR ", ")
FROM articles JOIN articles_auteurs ON articles.id = id_article
    JOIN auteurs ON id_auteur = auteurs.id
WHERE articles.id = 10
GROUP BY articles.titre
Mais c'est vrai que personnellement, avoir le titre sur chaque ligne de résultat ne me traumatise pas, et permet par la suite de gérer la présentation des données comme je le souhaite...
Eusebe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2008, 16h45   #6
Membre du Club
 
Inscription : novembre 2007
Messages : 758
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 758
Points : 44
Points : 44
OK merci je regarderai ca de plus pres!!
redah75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h51.


 
 
 
 
Partenaires

Hébergement Web