tengo un problemilla desde hace 1 día.
Por favor orientenme ... lo que deseo hacer es anidar registros continuos... dejo un ejemplo.
Código SQL:
Ver original
CREATE TABLE tabla_logfile ( GROUP# INT, STATUS VARCHAR (10), TYPE VARCHAR (10), MEMBER VARCHAR (100) ) INSERT INTO tabla_logfile VALUES (1,NULL,'ONLINE','C:\ORACLEXE_C\APP\ORACLE\FAST_RECOVERY_AREA\XE\ONLINELOG\O1_MF_1_BJD7NM9O_.LOG') INSERT INTO tabla_logfile VALUES (2,NULL,'ONLINE','D:\ORACLEXE_D\APP\ORACLE\FAST_RECOVERY_AREA\XE\ONLINELOG\O1_MF_1_BJD7NM9O_.LOG') INSERT INTO tabla_logfile VALUES (3,NULL,'ONLINE','E:\ORACLEXE_E\APP\ORACLE\FAST_RECOVERY_AREA\XE\ONLINELOG\O1_MF_1_BJD7NM9O_.LOG') INSERT INTO tabla_logfile VALUES (1,NULL,'ONLINE','Z:\ORACLEXE_Z\APP\ORACLE\FAST_RECOVERY_AREA\XE\ONLINELOG\O1_MF_1_BJD7NM9O_.LOG')
Lo que se desea es que mediante una consulta los registros que tengan el mismo id "grupo#" se unan es decir quedarian así.
Código SQL:
Si lo ejecutan verán que salen 4 registros... de los cuales deberían salir 3 porque hay 2 registros con el numero de grupo 1 ... entonces lo que deberia salir asi:Ver original
SELECT 'ALTER DATABASE ADD LOGFILE GROUP: ' || a.GROUP# || ' '|| a.MEMBER FROM tabla_logfile A WHERE a.GROUP# IN (SELECT GROUP# FROM tabla_logfile GROUP BY GROUP# HAVING COUNT(*) = 1 ) UNION SELECT 'ALTER DATABASE ADD LOGFILE GROUP: ' || a.GROUP# || ' '|| a.MEMBER FROM tabla_logfile A WHERE a.GROUP# IN (SELECT GROUP# FROM tabla_logfile GROUP BY GROUP# HAVING COUNT(*) = 2 )
ALTER DATABASE ADD LOGFILE GROUP: ' || a.Group# || ' '|| a.MEMBER + la 2da ruta del otro registro que tiene el mismo grupo.
LO INTENTEE CON MUCHAS COSAS :( SIN EXITO..
Espero tengan una sugerencia o una luz u.u