Hola a todos
A mi me pasa lo mismo, intento que el numero y nombre de las columnas
sea algo dinámico, pero no hay forma.
Alguien sabe como conseguirlo???
Vamos, lo que queremos, creo, es algo igual al PIVOT de access.
Saludos
El 02/07/10 17:06, Cesar A escribió:
Claro, pero esos títulos pueden no ser siempre los mismos, o la misma
cantidad... de ahí el cuento
El 2 de julio de 2010 09:46, Julio Cesar Rodriguez Dominguez
<jura...@gmail.com <mailto:jura...@gmail.com>> escribió:
El 2 de julio de 2010 09:07, Cesar A <cesar.carbon...@gmail.com
<mailto:cesar.carbon...@gmail.com>> escribió:
Bueno... luego de revisar y hacer varias pruebas, algo me salió.
Revisando el último ejemplo de la doc[0], hice mi prueba:
SELECT * FROM public.crosstab
(
'SELECT est_002, agri02_002, count(*)::numeric FROM
consulta_agri04 GROUP BY agri02_002, est_002 ORDER BY
est_002, agri02_002',
'SELECT DISTINCT agri02_002 FROM consulta_agri04 ORDER
BY agri02_002'
) AS lista(estado text, renglon1 text, renglon2 text,
renglon3 text, renglon4 text, renglon5 text, renglon6
text, renglon7 text, renglon8 text);
de la que obtuve:
estado | renglon1 | renglon2 | renglon3 | renglon4 |
renglon5 | renglon6 | renglon7 | renglon8
----------+----------+----------+----------+----------+----------+----------+----------+----------
Mérida | 83 | 169 | 68 | 421 |
746 | 1277 | 41 | 484
Táchira | 12 | 29 | 1 | 310 |
209 | 451 | | 222
Trujillo | | 26 | 20 | 97 |
174 | 361 | | 127
(3 filas)
Según en el ejemplo, la definición de las columnas ya se
conoce, pero y sí quisiéramos que los títulos de las columnas
fueran parte de la bondad del crosstab? ya ven que mi:
SELECT DISTINCT agri02_002 FROM consulta_agri04 ORDER BY
agri02_002;
agri02_002
------------------------
CACAO
CAFE
CAÑA
CEREALES Y LEGUMINOSAS
FRUTALES
HORTALIZAS
ORNAMENTALES
RAICES Y TUBERCULOS
(8 filas)
Solo que definas las columnas con los títulos de los valores que
devuelve la consulta de arriba.
SELECT * FROM public.crosstab
(
'SELECT est_002, agri02_002, count(*)::numeric FROM
consulta_agri04 GROUP BY agri02_002, est_002 ORDER BY est_002,
agri02_002',
'SELECT DISTINCT agri02_002 FROM consulta_agri04 ORDER BY
agri02_002'
) AS lista(estado text, cacao text, cafe text, "caña" text,
"cereales y leguminosas" text, frutales text, hortalizas text,
ornamentales text, "raices y tuberculos" text);
--
--
Sí no eres parte de la solución... eres parte del problema.
Les Luthiers
--
Cesar A. Carbonara R.
C.I. Nº V.11.952.572
--
Usuario Linux 377997
www.gulmer.org.ve <http://www.gulmer.org.ve>
Debian... todo lo que siempre has querido