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