-
Requête complexe mySQL
Bonjour,
Je suis une newbie dans tout ce qui est base de données. Et je suis la face a uen requete que je n'arrive pas à construire:
J'ai 2 tables:
Interpretes
interprete_id , interprete_name
1 sonic
2 tonic
cds
id , titre , interprete_id
1 titre1 1
2 titre2 1
3 titre3 2
4 titre4 2
5 titre5 2
Je voudrais afficher :
interpret_name , titres
sonic titre1, titre2
tonic titre3, titre 4,titre5
Je ne sais pas comment faire ce regroupement...
Merci bien
Sofia
-
Tu peux utiliser le site de référence:
http://dev.mysql.com/doc/refman/5.0/fr/join.html
Code:
SELECT Interpretes.interprete_name, cds.titre FROM Interpretes LEFT OUTER JOIN cds ON Interpretes.interprete_id = cds.interprete_id;
ou alors
Code:
SELECT Interpretes.interprete_name, cds.titre FROM Interpretes , cds WHERE Interpretes.interprete_id = cds.interprete_id ;
Tu auras
interpret_name , titres
-----------------------
sonic titre1
sonic titre2
tonic titre3
tonic titre4
tonic titre5
Jasmine,
-
Au lieu d'avir:
sonic titre1
sonic titre2
tonic titre3
tonic titre4
tonic titre5
Est ce qu'il y a moyen de regrouper:
sonic titre1 titre2
tonic titre3 titre4 titre5
-
Tu utilises un autre language de programmation interrogeant ta DB? Ou juste du SQL?
Sinon en Perl, je vois facilement comment réaliser ce que tu demandes mais juste en SQL, je ne sais pas si c'est possible.
Jasmine,
-
Ce n'est pas réalisable en tant que tel, mais on peut plus ou moins le faire via GROUP_CONCAT.
De là à ce que ce soit plus intéressant qu'un ORDER BY et une boucle dans le code client...