Obtener distintos valores (en columnas) de un solo campo
Publicado por Jonathan Faure (3 intervenciones) el 24/03/2015 14:44:06
Estimados,
tengo una base de teléfonos en la cual para el campo rut tengo varios números de teléfonos para el campo fono_numero, ahora necesito externalizar esta información a una nueva tabla pero colocando los distintos numeros de telefono en distintas columnas, obteniendo campos como fono_numero_1, fono_numero_2, fono_numero_3 ...... etc.
he intentado a traves de unir 3 consultas pero no logro obtener 3 columnas distintas para un solo registro,
SELECT x.fono_cont_1,
x.fono_cont_2,
x.fono_cont_3
FROM (SELECT to_number(t.fono_numero) fono_numero_1, 0 fono_numero_2, 0 fono_numero_3
FROM TELEFONOS T
WHERE T.RUT = '11226804'
AND ROWNUM <= 3
UNION ALL
SELECT 0 fono_numero_1, to_number(t.fono_numero) fono_numero_2, 0 fono_numero_3
FROM TELEFONOS T
WHERE T.RUT = '11226804'
AND ROWNUM <= 3
UNION ALL
SELECT 0 fono_numero_1, 0 fono_numero_2, to_number(t.fono_numero) fono_numero_3
FROM TELEFONOS T
WHERE T.RUT = '11226804'
AND ROWNUM <= 3) X
pero lo que obtengo es algo así:

quedo atento a sus comentarios, de ante mano gracias por sus ideas
tengo una base de teléfonos en la cual para el campo rut tengo varios números de teléfonos para el campo fono_numero, ahora necesito externalizar esta información a una nueva tabla pero colocando los distintos numeros de telefono en distintas columnas, obteniendo campos como fono_numero_1, fono_numero_2, fono_numero_3 ...... etc.
he intentado a traves de unir 3 consultas pero no logro obtener 3 columnas distintas para un solo registro,
SELECT x.fono_cont_1,
x.fono_cont_2,
x.fono_cont_3
FROM (SELECT to_number(t.fono_numero) fono_numero_1, 0 fono_numero_2, 0 fono_numero_3
FROM TELEFONOS T
WHERE T.RUT = '11226804'
AND ROWNUM <= 3
UNION ALL
SELECT 0 fono_numero_1, to_number(t.fono_numero) fono_numero_2, 0 fono_numero_3
FROM TELEFONOS T
WHERE T.RUT = '11226804'
AND ROWNUM <= 3
UNION ALL
SELECT 0 fono_numero_1, 0 fono_numero_2, to_number(t.fono_numero) fono_numero_3
FROM TELEFONOS T
WHERE T.RUT = '11226804'
AND ROWNUM <= 3) X
pero lo que obtengo es algo así:

quedo atento a sus comentarios, de ante mano gracias por sus ideas
Valora esta pregunta


0