Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 Général » requete crosstab » 21/08/2015 15:38:08
- evaporite
- Réponses : 1
Bonjour à tous
Je suis sous 9.4.
J'ai une table voirie avec 3 champs
INSEE (text) nature (text) longeur (integre)
1 A 5
2 B 2
1 C 3
1 A 6
je voudrais le faire évoluer en
INSEE TOTAL (sum de longueur), nature_A nature_B nature_C
1 14 11 0 3
2 2 0 2 0
DOnc j'ai pris la fonction crosstab (c'est faire un tableau croisé dynamique de excel )
avec deux requetes : crosstab(text source_sql, text category_sql)
SELECT *
FROM crosstab('
SELECT INSEE,nature,sum(longeur_ml)
FROM voirie
group by INSEE,nature
order by nature',
'SELECT nature
FROM voirie
group by nature
order by nature')
Les deux requetes fonctionnent individuellement, c'est pour la suite que j'ai un souci ...
option 1 (ce qui m'arrangerait)
La liste des colonnes seraient variables, les valeurs différentes de "nature" aujourd'hui sont de 44 différentes mais demain ça sera peut être 30 ou 50, donc je souhaiterais que les entetes de champ soit automatiques en fonction des variables du champ nature ...
option 2 je défini les noms de champs
Et comme j'ai pas trouvé comment faire, j'ai fait avec la définition des champs mais ca ne marche pas non plus
En fait après avoir recommencé ma requete je fais tombé le serveur ... server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
Pour la suite de la requete voici ce que j'ai préparé
AS
(
"enrobé" numeric(10,2),
"bicouche" numeric(10,2),
"graviers" numeric(10,2),
"sablé" numeric(10,2)
))
et c'est là ou ça fait tombé postgresql ... ma base est trop importante ? J'ai 44 natures différentes ...
Alors si quelqu'un a des conseils, une idée des corrections je suis preneuse, je débute ...
Merci
Aurélie
Pages : 1