
AGRUPAR VALORES CONEXION CONSULTA ORACLE
Publicado por Iñigo (1 intervención) el 24/11/2021 12:55:37
Tengo un problema con una conexión a una consulta Oracle para insertar datos en un archivo Excell a traves de comandos SQL.
Este primer comando se conecta sin problemas con Oracle:
SELECT XXGC_GCC_RECEPCION_DISC_V.FECHA_RECEP, XXGC_GCC_RECEPCION_DISC_V.ARTÍCULO, XXGC_GCC_RECEPCION_DISC_V.DESCRIPCIÓN, SUM(XXGC_GCC_RECEPCION_DISC_V.CANTIDAD) AS CANTIDAD, XXGC_GCC_RECEPCION_DISC_V.PROVEEDOR, XXGC_GCC_RECEPCION_DISC_V.NUM_FACTURA, XXGC_GCC_RECEPCION_DISC_V.N_REGISTRO_FACTURA FROM APPS.XXGC_GCC_RECEPCION_DISC_V XXGC_GCC_RECEPCION_DISC_V WHERE ( XXGC_GCC_RECEPCION_DISC_V.ARTÍCULO LIKE 'M8%' ) GROUP BY XXGC_GCC_RECEPCION_DISC_V.FECHA_RECEP, XXGC_GCC_RECEPCION_DISC_V.ARTÍCULO, XXGC_GCC_RECEPCION_DISC_V.DESCRIPCIÓN, XXGC_GCC_RECEPCION_DISC_V.PROVEEDOR, XXGC_GCC_RECEPCION_DISC_V.NUM_FACTURA, XXGC_GCC_RECEPCION_DISC_V.N_REGISTRO_FACTURA
El problema fue cuando intenté concatenar todos los valores de una columna llamada NUM_RECEPCION con las funciones (en negrita los cambios):
SELECT XXGC_GCC_RECEPCION_DISC_V.FECHA_RECEP, XXGC_GCC_RECEPCION_DISC_V.ARTÍCULO, XXGC_GCC_RECEPCION_DISC_V.DESCRIPCIÓN, SUM(XXGC_GCC_RECEPCION_DISC_V.CANTIDAD) AS CANTIDAD, XXGC_GCC_RECEPCION_DISC_V.PROVEEDOR, XXGC_GCC_RECEPCION_DISC_V.NUM_FACTURA, XXGC_GCC_RECEPCION_DISC_V.N_REGISTRO_FACTURA,
STUFF((SELECT ','+ XXGC_GCC_RECEPCION_DISC_V.NUM_RECEPCION FROM APPS.XXGC_GCC_RECEPCION_DISC_V XXGC_GCC_RECEPCION_DISC_V ORDER BY XXGC_GCC_RECEPCION_DISC_V.NUM_RECEPCION FOR XML PATH('')),1,1,'')
FROM APPS.XXGC_GCC_RECEPCION_DISC_V XXGC_GCC_RECEPCION_DISC_V WHERE ( XXGC_GCC_RECEPCION_DISC_V.ARTÍCULO LIKE 'M8%' ) GROUP BY XXGC_GCC_RECEPCION_DISC_V.FECHA_RECEP, XXGC_GCC_RECEPCION_DISC_V.ARTÍCULO, XXGC_GCC_RECEPCION_DISC_V.DESCRIPCIÓN, XXGC_GCC_RECEPCION_DISC_V.PROVEEDOR, XXGC_GCC_RECEPCION_DISC_V.NUM_FACTURA, XXGC_GCC_RECEPCION_DISC_V.N_REGISTRO_FACTURA,
XXGC_GCC_RECEPCION_DISC_V.NUM_RECEPCION
El error que me da es "ORA-00907: missing right parenthesis ".
¿Puede ayudarme alguien?
Gracias por anticipado
Este primer comando se conecta sin problemas con Oracle:
SELECT XXGC_GCC_RECEPCION_DISC_V.FECHA_RECEP, XXGC_GCC_RECEPCION_DISC_V.ARTÍCULO, XXGC_GCC_RECEPCION_DISC_V.DESCRIPCIÓN, SUM(XXGC_GCC_RECEPCION_DISC_V.CANTIDAD) AS CANTIDAD, XXGC_GCC_RECEPCION_DISC_V.PROVEEDOR, XXGC_GCC_RECEPCION_DISC_V.NUM_FACTURA, XXGC_GCC_RECEPCION_DISC_V.N_REGISTRO_FACTURA FROM APPS.XXGC_GCC_RECEPCION_DISC_V XXGC_GCC_RECEPCION_DISC_V WHERE ( XXGC_GCC_RECEPCION_DISC_V.ARTÍCULO LIKE 'M8%' ) GROUP BY XXGC_GCC_RECEPCION_DISC_V.FECHA_RECEP, XXGC_GCC_RECEPCION_DISC_V.ARTÍCULO, XXGC_GCC_RECEPCION_DISC_V.DESCRIPCIÓN, XXGC_GCC_RECEPCION_DISC_V.PROVEEDOR, XXGC_GCC_RECEPCION_DISC_V.NUM_FACTURA, XXGC_GCC_RECEPCION_DISC_V.N_REGISTRO_FACTURA
El problema fue cuando intenté concatenar todos los valores de una columna llamada NUM_RECEPCION con las funciones (en negrita los cambios):
SELECT XXGC_GCC_RECEPCION_DISC_V.FECHA_RECEP, XXGC_GCC_RECEPCION_DISC_V.ARTÍCULO, XXGC_GCC_RECEPCION_DISC_V.DESCRIPCIÓN, SUM(XXGC_GCC_RECEPCION_DISC_V.CANTIDAD) AS CANTIDAD, XXGC_GCC_RECEPCION_DISC_V.PROVEEDOR, XXGC_GCC_RECEPCION_DISC_V.NUM_FACTURA, XXGC_GCC_RECEPCION_DISC_V.N_REGISTRO_FACTURA,
STUFF((SELECT ','+ XXGC_GCC_RECEPCION_DISC_V.NUM_RECEPCION FROM APPS.XXGC_GCC_RECEPCION_DISC_V XXGC_GCC_RECEPCION_DISC_V ORDER BY XXGC_GCC_RECEPCION_DISC_V.NUM_RECEPCION FOR XML PATH('')),1,1,'')
FROM APPS.XXGC_GCC_RECEPCION_DISC_V XXGC_GCC_RECEPCION_DISC_V WHERE ( XXGC_GCC_RECEPCION_DISC_V.ARTÍCULO LIKE 'M8%' ) GROUP BY XXGC_GCC_RECEPCION_DISC_V.FECHA_RECEP, XXGC_GCC_RECEPCION_DISC_V.ARTÍCULO, XXGC_GCC_RECEPCION_DISC_V.DESCRIPCIÓN, XXGC_GCC_RECEPCION_DISC_V.PROVEEDOR, XXGC_GCC_RECEPCION_DISC_V.NUM_FACTURA, XXGC_GCC_RECEPCION_DISC_V.N_REGISTRO_FACTURA,
XXGC_GCC_RECEPCION_DISC_V.NUM_RECEPCION
El error que me da es "ORA-00907: missing right parenthesis ".
¿Puede ayudarme alguien?
Gracias por anticipado
- Pantalla.rar(149,6 KB)
Valora esta pregunta


0