Lists: | pgsql-fr-generale |
---|
From: | Denis Bitouzé <dbitouze(at)wanadoo(dot)fr> |
---|---|
To: | pgsql-fr-generale(at)postgresql(dot)org |
Subject: | Autre présentation d'une table obtenue par jointure et groupage |
Date: | 2008-01-09 21:28:10 |
Message-ID: | 20080109222810.17643722@drums |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-fr-generale |
Bonsoir,
j'ai créé une fonction qui me fournit, par jointure naturelle et
groupage, une table qui est de la forme :
etudiant | epreuve | note |
--------------+------------+-------+-
etu_1 | epreuve_1 | n_11 |
etu_1 | epreuve_2 | n_12 |
etu_1 | epreuve_3 | n_13 |
etu_2 | epreuve_1 | n_21 |
etu_2 | epreuve_2 | n_22 |
etu_2 | epreuve_3 | n_23 |
etu_3 | epreuve_1 | n_31 |
etu_3 | epreuve_2 | n_32 |
etu_3 | epreuve_3 | n_33 |
etu_4 | epreuve_1 | n_41 |
etu_4 | epreuve_2 | n_42 |
etu_4 | epreuve_3 | n_43 |
et je voudrais pouvoir créer une requête, au besoin à l'aide de
PL/pgSQL, qui me permette de présenter ces résultats sous la forme :
etudiant | epreuve_1 | epreuve_2 | epreuve_3 | epreuve_4 |
--------------+-----------+-----------+-----------+-----------+-
etu_1 | n_11 | n_12 | n_13 | n_14 |
etu_2 | n_21 | n_22 | n_23 | n_24 |
etu_3 | n_31 | n_33 | n_33 | n_34 |
etu_4 | n_41 | n_44 | n_43 | n_44 |
Je remercie d'avance toute personne qui me mettrait sur une éventuelle
piste...
--
Denis
From: | "Daniel Verite" <daniel(at)manitou-mail(dot)org> |
---|---|
To: | pgsql-fr-generale(at)postgresql(dot)org |
Subject: | Re: Autre présentation d'une table obtenue par jointure et groupage |
Date: | 2008-01-10 15:31:01 |
Message-ID: | 983caa4a-56c4-4463-a389-ebab25e66e26@mm |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-fr-generale |
Denis Bitouzé wrote:
> etudiant | epreuve | note |
> --------------+------------+-------+-
[...]
> et je voudrais pouvoir créer une requête, au besoin à l'aide de
> PL/pgSQL, qui me permette de présenter ces résultats sous la forme :
>
> etudiant | epreuve_1 | epreuve_2 | epreuve_3 | epreuve_4 |
> --------------+-----------+-----------+-----------+-----------+-
> etu_1 | n_11 | n_12 | n_13 | n_14 |
[...]
La fonction crosstab() remplit normalement cet office.
Elle est dans le module tablefunc des contribs.
Voir: http://docs.postgresqlfr.org/8.3/tablefunc.html
--
Daniel
PostgreSQL-powered mail user agent and storage:
http://www.manitou-mail.org
From: | Denis Bitouzé <dbitouze(at)wanadoo(dot)fr> |
---|---|
To: | pgsql-fr-generale(at)postgresql(dot)org |
Subject: | Re: Autre présentation d'une table obtenue par jointure et groupage |
Date: | 2008-01-10 21:00:31 |
Message-ID: | 20080110220031.6657cc17@drums |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-fr-generale |
Le Thu, 10 Jan 2008 16:31:01 +0100
"Daniel Verite" <daniel(at)manitou-mail(dot)org> a écrit :
> La fonction crosstab() remplit normalement cet office.
> Elle est dans le module tablefunc des contribs.
> Voir: http://docs.postgresqlfr.org/8.3/tablefunc.html
Je vais regarder cela de plus prêt. Par contre, ça ne me semble
implémenté qu'à partir de la version 8.3 ; me trompè-je ?
En tous cas, merci ! C'est visiblement ce que je cherchais...
--
Denis
From: | Guillaume Lelarge <guillaume(at)lelarge(dot)info> |
---|---|
To: | Denis Bitouzé <dbitouze(at)wanadoo(dot)fr> |
Cc: | pgsql-fr-generale(at)postgresql(dot)org |
Subject: | Re: Autre présentation d'une table obtenue par jointure et groupage |
Date: | 2008-01-10 21:14:56 |
Message-ID: | 47868AD0.4010903@lelarge.info |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-fr-generale |
Denis Bitouzé wrote:
> Le Thu, 10 Jan 2008 16:31:01 +0100
> "Daniel Verite" <daniel(at)manitou-mail(dot)org> a écrit :
>
>> La fonction crosstab() remplit normalement cet office.
>> Elle est dans le module tablefunc des contribs.
>> Voir: http://docs.postgresqlfr.org/8.3/tablefunc.html
>
> Je vais regarder cela de plus prêt. Par contre, ça ne me semble
> implémenté qu'à partir de la version 8.3 ; me trompè-je ?
>
Non, il s'agit d'un module contrib. Il était déjà disponible dans les
anciennes versions de PostgreSQL. Le lien vers le manuel de la 8.3 est
dû au fait que les modules contrib sont enfin documentés dans la doc
officielle de PG... (plus besoin de se taper les README des sources,
ouffff).
--
Guillaume.
http://www.postgresqlfr.org
http://dalibo.com