Gracias Alex por el comentario.
He localizado en esta dirección:
http://blogs.ittoolbox.com/database/technology/archives/pivot-query-12757
diferentes ejemplos de como hacerlo. Aunque hay una UDF definida no me
convence demasiado porque no es genérica, es decir, habría que programar
una función por cada agregación. Sin embargo, la solución de XML me
convence más aunque haya que teclear más código, pero tampoco es muy
standard que digamos y en caso de tener que usar otra BBDD no se podría
trasladar.
Le voy a dar unas vueltas a ver si se me ocurre una UDF que agrege y
sea genérica.
Salu2
alex martinez escribió:
Hola Fernando:
IBM abrió la puerta hace varias versiones con la idea de que quien lo
necesite desarrolle sus propias funciones escalares mediante la
utilización de UDF.
Y creo que es posible desarrollar una UDF específica para DB2, o
quizás alguien ya la ha implementado... es cuestión de buscar y
preguntar al google.
Salu2
El día 7/03/08, *Fernando Martínez* <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> escribió:
Gracias Alex, como siempre fenomenal.
Lo que me sorprende es que una BBDD open source supere en estas
cosas a todo un DB2, un Oracle, o un SQL-Server. He estado mirando
las posibilidades en diferentes BBDD y da risa pensar que algo
"gratuito" de más juego.
En fin, es lo que toca lidiar con esto.
Salu2
Àlex Corretgé escribió:
Tu necesitas lo que en MySQL se llama GROUP_CONCAT.
http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat
La mala notícia es que me parece que esa función no existen en
SQL de DB2.
--
Fins aviat...
Àlex Corretgé
http://bloc.corretge.cat/
2008/3/6 Fernando Martínez <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>:
Hola a todos
Tengo la siguiente sentencia SQL:
Select Col1,
Col2,
Col3,
Sum(Col4),
Sum(Col5)
>From tabla1
Group by Col1,
Col2,
Col3
Order by Col1, Col2, Col3
Bueno pues necesito agrupar en una fila por Col1 y Col2
pero concatenando todas las filas en Col3 de la siguiente forma:
Col1 Col2 Col3 Col4 Col5
----- ----- ----- ----- -----
1 1 A 5 10
1 1 B 1 3
2 1 C 3 4
2 2 A 2 1
Y que de como resultado:
Col1 Col2 Col3 Col4 Col5
----- ----- ----- ----- -----
1 1 A, B 6 13
2 1 C 3 4
2 2 A 2 1
Me he quedado sin ideas y no encuentro ninguna formula
para poder hacer eso. ¿Se le ocurre a alguien como hacerlo?
Un saludo y gracias
Fernando
__________________________________________________
Forum.HELP400 es un servicio m&#225;s de NEWS/400.
&#169; Publicaciones Help400, S.L. - Todos los derechos
reservados
http://www.help400.es
_____________________________________________________
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400
------------------------------------------------------------------------
__________________________________________________
Forum.HELP400 es un servicio m&#225;s de NEWS/400.
&#169; Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400
__________________________________________________
Forum.HELP400 es un servicio m&#225;s de NEWS/400.
&#169; Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400
--
Mi blog sobre as400
http://www.ajut400.com
------------------------------------------------------------------------
__________________________________________________
Forum.HELP400 es un servicio m&#225;s de NEWS/400.
&#169; Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400
__________________________________________________
Forum.HELP400 es un servicio m&#225;s de NEWS/400.
&#169; Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400