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
