El siguiente query nos sirve para cuando tenemos varias filas pero solo queres una fila y que nos regrese el resultado de todas las filas concatendas en una columna, es decir si tenemos los siguientes datos:
Pais | Ciudad |
1 | Ciudad 1 |
1 | Ciudad 2 |
1 | Ciudad 3 |
2 | Ciudad 4 |
2 | Ciudad 5 |
2 | Ciudad 6 |
Al ejecutar el siguiente Query:
select Pais, rtrim (xmlagg (xmlelement (e,ciudad || ',')).extract ('//text()'), ',') Ciudades
from tablaPais
group by Pais
nos da lo siguiente:
Pais | Ciudades |
1 | Ciudad 1,Ciudad 2,Ciudad3 |
2 | Ciudad 3,Ciudad 4,Ciudad 5 |
como esta agrupado por Pais nos devuelve dos filas una con el pais 1 concatenando en la columna Ciudades el contenido de todas las ciudades del pais 1, de igual forma pasa con el pais 2.
Excelente ejemplo, muchas gracias por tu aporte
ResponderEliminarPor nada, a la orden.
EliminarFUNCIONA PERFECTAMENTE GRACIAS
ResponderEliminarQue bien que les sirvió
EliminarUna pregunta, en caso contrario, como seria si yo tuviera por ejemplo:
ResponderEliminarFILA 1: 5,Ciudad6,Ciuda12,Ciudad3
FILA 2: 5,Ciudad3,Ciudad10,Ciudades125,ciudad
Para que me retorne lo que esta entre cada coma, pero tomando los caracteres que le indica el o los numeros antes del asterisco (Pueden ser uno o dos digitos)
Resultado:
Ciudad,ciuda,Ci
Ciudad,Ciu,Ciudades12,ciudad
Gracias!!
Muchas gracias, funciona perfecto.
ResponderEliminarExcelente!!! ahora guardalo y no o pierdas.
EliminarMUCHAS GRACIAS EXCELENTE ME SALIO PERFECTO TENIA DIAS DE ESTAR BUSCANDO
ResponderEliminarQue bien que te funciono!!
EliminarPor nada, que bien que te funciono..
ResponderEliminar:)
Funciona perfecto, gracias
ResponderEliminarQue bien haber ayudado!!!
EliminarExcelente! Muchas Gracias!
ResponderEliminarla mejor respuesta, en internet encontré también otras soluciones, pero esta es la más optima y más rápida (y)
ResponderEliminarMuy buen aporte, me ayudó mucho, muchas gracias amigo!!!!
ResponderEliminarAla orden. Que bien que te sirvio
EliminarMuy util tu aporte, gracias por compartir tus conocimientos!!
ResponderEliminar