retourner des colonnes de deux tables
Bonsoir tout le monde,
Je débute avec Postgres, j'ai une base de données où on gère des associations qui proposent des sports.
Je dois effectuer une requête sur trois tables :
<entreprise> ---<adherent>---<association>
Je veux afficher les adhérents d'une association donnée (en paramètre) avec les entreprises des adhérents s'ils en ont une.
Mon problème c'est que je ne sais pas comment retourner les données de la table entreprise. J'ai chercher sur le net.. mais trouvé de solution. J'ai une idée..peut-être utiliser une vue..
Ma fonction est :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| CREATE OR REPLACE FUNCTION afficher_adh(une_assoc integer)
returns SETOF adherent AS $$
DECLARE
ligne adherent%rowtype;
BEGIN
for ligne in SELECT adherent.*,entreprise.* FROM entreprise
LEFT OUTER JOIN adherent on entreprise.id_entreprise = adherent.fk_entreprise
LEFT OUTER JOIN association on adherent.fk_association= association.id_association
WHERE association.id_association = une_assoc loop
return next ligne;
end loop;
return;
END;
$$
LANGUAGE plpgsql |
Voila, si quelqu'un peut me donner un indice ce serai gentil. Merci d'avance !