SQL - Convertir filas en columnas

 
Vista:
sin imagen de perfil
Val: 1
Ha aumentado su posición en 32 puestos en SQL (en relación al último mes)
Gráfica de SQL

Convertir filas en columnas

Publicado por Diego (1 intervención) el 08/10/2019 01:43:54
Hola tengo una tabla "Cliente_Telefono" con 2 columnas, codCliente y Telefono.. Un cliente tiene varios telefonos..

Tengo otra tabla "Cliente" con varias columnas, codCliente, apellido, nombre, Telefono1, Telefono2, Telefono3.

Necesito meter los teléfonos de la tabla Cliente_Telefono a la tabla Cliente mediante una consulta.. Si en la tabla Cliente_Telefono el cliente tiene mas de 3 telefonos no importa, que meta los primeros 3 en la tabla Cliente.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Convertir filas en columnas

Publicado por Isaias (1921 intervenciones) el 08/10/2019 03:16:11
Dependera del motor de base de datos que este usando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Francisco
Val: 150
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Convertir filas en columnas

Publicado por Francisco (62 intervenciones) el 08/10/2019 21:19:31
Hola

Si tienes un motor reciente que soporte el standard de SQL:1999 en adelante lo puedes ejecutar de la siguiente manera

1
2
3
4
5
6
7
8
9
WITH t AS (
       SELECT codCliente, telefono1 telefono FROM cliente WHERE telefono1 IS NOT NULL
       UNION ALL
       SELECT codCliente, telefono2 telefono FROM cliente WHERE telefono2 IS NOT NULL
       UNION ALL
       SELECT codCliente, telefono3 telefono FROM cliente WHERE telefono3 IS NOT NULL
    )
INSERT INTO cliente_telefono(codCliente, telefono)
    SELECT codCliente, telefono FROM t;

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar