Puede que un crosstab también te ayude
http://www.postgresql.org/docs/9.2/static/tablefunc.html

El 21 de enero de 2013 19:39, juanramirez
<[email protected]>escribió:

> El , Arcel Labrada Batista escribió:
>
>  esto es los más cerca que pude de lo que quieres, quizas hay una mejor
>> forma pero bueno, ahi te va
>>
>> CREATE OR REPLACE FUNCTION f_aux() RETURNS text AS
>> $BODY$
>> DECLARE
>> a text;
>> b text;
>> c bigint;
>> BEGIN
>> c:=0;
>> b:='{';
>> for a in (select array[id,prestamo] from foo)
>> loop
>> c:=c+1;
>> b:= b||a;
>> end loop;
>> b:= b||'}';
>> RETURN b;
>> END;
>> $BODY$
>> LANGUAGE plpgsql;
>>
>> select * from f_aux();
>>
>> -------------------------
>>
>> DE: "juanramirez" <[email protected]**>
>> PARA: [email protected]
>> ENVIADOS: Lunes, 21 de Enero 2013 13:55:46
>> ASUNTO: [pgsql-es-ayuda] subconsulta a array de dos dimensiones
>>
>>
>> Buen día Lista,
>>
>> Tengo ratos de inactividad, pero en la lista no en postgres, así que
>> esta
>> vez vengo con una consulta que no he logrado solucionar con san google!
>>
>> ¿como puedo crear un script para que genere un array de dos
>> dimensiones?
>>
>> tengo una tabla así:
>>
>> id, prestamo
>>
>> 1 , 1600015
>>
>> 2 , 1600875
>>
>> 3 , 1600658
>>
>> 4 , 1600016
>>
>> yo puedo hacer unir en un array el préstamo y el id así:
>>
>> select array[id,prestamo] from foo
>>
>> y me retorna
>>
>> {1 , 1600015}
>>
>> {2 , 1600875 }
>>
>> {3 , 1600658}
>>
>> {4 , 1600016}
>>
>> vuelvo a la pregunta, cómo puedo hacer que ese resultado se cree en un
>> solo registro en un campo array de dos dimensiones.
>>
>> el resultado que espero es este
>>
>> {{1,1600015},{2,001600875},{3,**001600658},{4,001600016}}
>>
>> como debo crear el script?
>>
>> he intentado esto:
>> select array(select array[id,prestamo] from foo)
>>
>> pero obtengo el siguiente error:
>>
>> ERROR: no se pudo encontrar un tipo de array para el tipo de dato
>> text[]
>>
>> -
>>
>
> Muchas gracias Arcel,
>
> Alguna manera de hacerlo más dinámico? porque los datos que puse son puro
> ejemplo, en la tabla real, hay más datos y lo que quiero hacer es manipular
> los datos de diferentes formas..
>
> No expuse el caso real, porque no le considere necesario, simplemente
> busco como crear un script con una subconsulta en un array de dos
> dimensiones..
>
>
>
>
> -
> Enviado a la lista de correo pgsql-es-ayuda ([email protected]
> **)
> Para cambiar tu suscripción:
> http://www.postgresql.org/**mailpref/pgsql-es-ayuda<http://www.postgresql.org/mailpref/pgsql-es-ayuda>
>



-- 
Al_Hilario Company

Responder a