SQL - Como mostrar solo columnas con valor

   
Vista:

Como mostrar solo columnas con valor

Publicado por Jhonatan (4 intervenciones) el 12/10/2017 14:03:03
Buenos días,

Solicito si ayuda con el siguiente caso:

Estoy utilizando SQL server 2014

Tengo los siguientes campos:

Cliente
Fecha_01
Valor_01
Fecha_02
Valor_02
.
.
.
Fecha_90
Valor_90

Cada cliente puede tener 1,2,3 o 4 pagos en esas 90 columnas de Valor.

Quisiera saber si hay algún ciclo que me permita traer a 4 columnas los pagos que hizo cada cliente.
Con las respectivas fechas.

Las demás columnas que vienen en cero no se necesitan.

Utilice Unpivot y Pívot pero se demora mucho, imaginó q si hay otra manera mas eficaz de hacerlo.

Quedo atento a sus respuestas, muchas gracias.
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

Como mostrar solo columnas con valor

Publicado por Isaias (1120 intervenciones) el 12/10/2017 16:55:47
Hola

¿Fecha y Valor, son columnas o son renglones?, ¿Puedes pasarnos la descripcion de tu tabla (campos y tipos de datos)?

Si tu respuesta es SI, es un PESIMO diseño de tu tabla, pero bueno, veamos que podemos hacer

Espero tu respuesta.
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

Como mostrar solo columnas con valor

Publicado por Jhonatan (4 intervenciones) el 12/10/2017 17:39:31
Hola,

Si señor son campos (Columnas) y estoy desacuerdo con tigo en que el diseño es pésimo, pero así la hicieron desde un comienzo.

Los campos fecha son tipo Date
Los campos valor son decimal (15,2)
Cliente es numeric (10,0)

Quedo pendiente de tu ayuda, muchas gracias.
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 Isaias

Como mostrar solo columnas con valor

Publicado por Isaias (1120 intervenciones) el 12/10/2017 20:42:24
Amgio, tu tabla no esta NORMALIZADA, deberias tener el ID de tu cliente, la fecha (si), pero el importe y la fecha deberias estar en renglones diferentes, esto es, 99 registros, no 99 campos, eso lo haciamos en los 80's para equipos mainframe, hoy en dia, las bases de datos son mas "moldeables" y se pueden hacer cosas mejores.

Aun asi, ya te di respuesta en el grupo de SQL SERVER
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
Revisar política de publicidad