Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 11/06/2019 12:07:04
- Wapax
- Membre
GROUP BY après jointure
Bonjour,
J'ai réalisé une base de données sur Postgre que j'exploite avec une application WEB, qui est un projet perso.
J'ai fait une liste de liens avec des catégories (une sorte de favoris).
J'ai une table 'lien':
lien_id SERIAL PRIMARY KEY,
libelle VARCHAR (80),
url VARCHAR (80),
date_ajout DATE DEFAULT CURRENT_DATE,
description TEXT
et une table 'categorie' :
categ_id SERIAL PRIMARY KEY,
categ VARCHAR (50) NOT NULL
et une table 'relation' qui permet de faire la relation entre un lien et les catégories. Sachant que je veux qu'il lien puisse avoir plusieurs catégories:
rel_id SERIAL PRIMARY KEY,
categorie_id SERIAL,
liens_id SERIAL,
CONSTRAINT fk_categorie FOREIGN KEY (categorie_id) REFERENCES categorie (categ_id),
CONSTRAINT fk_lien FOREIGN KEY (liens_id) REFERENCES lien (lien_id)
La table 'relations' n'utilise que des clés étrangères qui proviennent des deux autres tables et qui permettent d'en identifier les éléments.
Je souhaite maintenant faire une requête SELECT qui m'affiche pour chaque lien, les catégories qui lui sont attribuées. Dans mon SELECT, j'utilise un GROUP BY. Mais je bloque à ce niveau; le retour est la liste complète. Alors que je veux que ce soit groupé par liens_id.
J'ai une requête du genre:
SELECT *
FROM liens l
INNER JOIN relations r
ON (r.liens_id = l.lien_id)
INNER JOIN categorie c
ON (c.categ_id = r.categorie_id)
GROUP BY r.liens_id;
Pouvez-vous m'aider à y voir plus clair? Merci d'avance!
Hors ligne
#2 11/06/2019 14:37:48
- gleu
- Administrateur
Re : GROUP BY après jointure
Si vous montriez le résultat obtenu et le résultat souhaité, on comprendrait certainement mieux.
Guillaume.
Hors ligne
Pages : 1