PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 Re : PL/pgSQL » SELECT sur une seule ligne au lieu de 2 » 27/03/2016 22:54:57

Merci, j'ai utilisé string_agg comme vous me l'avez dit et ça marche parfaitement.
Merci beaucoup pour la rapidité et l'efficacité de votre réponse.

#2 Re : PL/pgSQL » SELECT sur une seule ligne au lieu de 2 » 27/03/2016 21:38:25

Bonjour, et merci pour cette réponse rapide,
Pour répondre à votre question, c'est pour obtenir le résultat :


titre du film            ANNEE           GENRE1, GENRE2, GENRE3


et non plus celui là :


titre du film            ANNEE           GENRE1
titre du film            ANNEE           GENRE2

Donc, en bref, pour concaténer les genres, oui.

#3 PL/pgSQL » SELECT sur une seule ligne au lieu de 2 » 27/03/2016 20:03:42

kylianMartins
Réponses : 4

Bonjour,


Je vais vous exposer mon problème.
J'ai pour le besoin d'un projet étudiant de créer un site dynamique.
Bien qu'étant novice, mon choix s'est porté sur un site qui "référencerait" les différents films, musiques et jeux selon différents critères.
Pour le moment, j'ai crée une base de données uniquement relatives au film.
J'ai ainsi une table film (idfilm, titre, #anneesortie), une table genre (idgenre, genre), une table année (idannée, année) et une table film_genre qui relie les films au(x) genre(s) étant donné qu'un film peut avoir plusieurs genres (id, #film, #genre).
J'ai sur une mes pages web une requête qui affiche tous les films avec les années de sortie selon ce format :


titre du film            ANNEE


J'aimerai pouvoir afficher également le (ou les) genre(s) de chaque film de cette sorte :


titre du film            ANNEE           GENRE1, GENRE2, GENRE3


J'effectue alors cette requête :


SELECT
  tabannee.annee,
  tabfilm.titre,
  tabgenre.genre
FROM
  public.tab_film_genre,
  public.tabannee,
  public.tabfilm,
  public.tabgenre
WHERE
  tab_film_genre.film = tabfilm.idfilm AND
  tabfilm.anneesortie = tabannee.idannee AND
  tabgenre.idgenre = tab_film_genre.genre
ORDER BY
  tabfilm.titre;


Cependant, avec cette requête, si le film a plusieurs genres, le film est affichée sur plusieurs lignes avec les différents genre de cette sorte :


titre du film            ANNEE           GENRE1
titre du film            ANNEE           GENRE2

J'aimerai donc savoir qu'est ce que je dois rajouter dans ma requête.
Cordialement.

Pied de page des forums

Propulsé par FluxBB