utilisation d'un array en sortie de select

From: <jsganaye13-devforum(at)yahoo(dot)fr>
To: pgsql-fr-generale(at)postgresql(dot)org
Subject: utilisation d'un array en sortie de select
Date: 2005-09-01 16:21:21
Message-ID: 20050901162121.85539.qmail@web26403.mail.ukl.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Bonjour,

j'utilise depuis peu Postgres et j'ai un probleme concernant les array.
Voici le cas :

j'ai une table du genre :
CREATE TABLE statsdata (
datestat date NOT NULL DEFAULT '2005-08-31'::date,
modestat char(1) NOT NULL DEFAULT 'C'::bpchar,
evtliste varchar(3)[]
) WITHOUT OIDS;

je souhaite faire une requete du genre :
SELECT
evt, -- une ligne pour chaque élément de la liste evtliste
s.modestat,
count(*) AS statcount
FROM statsdata s
WHERE s.datestat = '2005-08-31'
AND evtliste is not null
GROUP BY evt, s.modestat;

Le problème est donc que je veux faire une sorte de produit cartésien entre les lignes selectionnées dans la table et la liste d'évènement (pour chacune des ligne).

Je ne sais pas quoi mettre à la place de evt ou comment modifier la requête pour arriver à mes fins.

La seule solution que j'ai envisager est de créer une TABLE FUNCTION qui exécute la requête de restriction puis qui pour chaque valeur du champ evtliste, retourne une ligne... d'ou quelque chose du genre :
SELECT
s.evt,
s.modestat,
count(*) AS statcount
FROM getStatDataForDate('2005-09-01') s
GROUP BY s.evt, s.modestat;
Mais j'espérais trouver une solution plus simple (que d'écrire une Table Function) et plus efficace en terme de performance car une fois que les données sont lues par la fonction et qu'elle les retourne, fini les indexes....


Voila, j'espère avoir été claire, si vous avez une solution (ou des solutions) ou des pistes à explorer, ça m'intéresse fortement.

merci
Jean-Sébastien


---------------------------------
Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! Messenger
Téléchargez le ici !

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message thomas.silvi 2005-09-05 20:42:09 Re: utilisation d'un array en sortie de select
Previous Message Christophe Chauvet 2005-08-30 05:25:53 Re: Probleme de compilation PostGIS