sql >> Base de Datos >  >> RDS >> Oracle

ORACLE/SQL:wm_concat y ordenar por

Para cualquiera que todavía esté usando wm_CONCAT (también conocido como versiones anteriores de db):la solución es agregar una condición distinta, luego también aplicará un orden ascendente a los valores concatenados.

No preguntes por qué no está documentado, pero funcionará.

Además, usar un orden por en una subconsulta anterior a wm_concat simplemente aleatorizará el orden, por lo que no debería haberse recomendado.

Ejemplo para el SQL solicitado:

SELECT TASK_CARD, WM_CONCAT(distinct code) as ZONES
FROM ODB.TASK_CARD_CONTROL
WHERE ODB.TASK_CARD_CONTROL.CONTROL_CATEGORY = 'ZONE'
GROUP BY TASK_CARD;

Solo tenga en cuenta que la opción distintiva no funciona cuando se usa en procedimientos/paquetes.