Eliminar columnas segun condición

23/06/2006 - 16:14 por Matías | Informe spam
Hola, tengo un sp que genera una tabla temporal, luego hago un select y el
resultado lo inserto en esa tabla temporal,
y puede que queden columnas vacias, me hace falta eliminar las columnas que
en sus filas no contengan datos,
EJ. la tabla temp. es:

Colum1 Colum2 Colum3 Colum4 Colum5

ASDF 5214 NULL 121 NULL
ASDG 4224 NULL 412 12
ASDH 5451 NULL NULL 17

Me hace falta eliminar la columna Colum3, aclaro que cualquiera de las
columnas Colum3 Colum4 Colum5 puede no tener datos.
Conosco las sentencias alter table y drop column, pero no se como averiguar
que columna no contiene datos.

Gracias.
 

Leer las respuestas

#1 Matías
23/06/2006 - 18:57 | Informe spam
OK, gracias

"Jorge Gonzalez" escribió en el mensaje
news:%
Matías,

en la forma cotidiana es la única manera de hacerlo, según yo
aunque en este foro me he encontrado con algunos algoritmos geniales, así
que si alguien conoce otra forma, pues todos aprendemos:

Sería algo como:

if (select count (*) from TuTabla Where Columna3 is not null ) = 0)
Begin
Alter Table -- para hacer el drop de la columna

End

Eso hay que hacerlo para cada columna.

Saludos


"Matías" escribió en el mensaje
news:
> Hola, tengo un sp que genera una tabla temporal, luego hago un select y


el
> resultado lo inserto en esa tabla temporal,
> y puede que queden columnas vacias, me hace falta eliminar las columnas
> que
> en sus filas no contengan datos,
> EJ. la tabla temp. es:
>
> Colum1 Colum2 Colum3 Colum4 Colum5
>
> ASDF 5214 NULL 121 NULL
> ASDG 4224 NULL 412 12
> ASDH 5451 NULL NULL 17
>
> Me hace falta eliminar la columna Colum3, aclaro que cualquiera de las
> columnas Colum3 Colum4 Colum5 puede no tener datos.
> Conosco las sentencias alter table y drop column, pero no se como
> averiguar
> que columna no contiene datos.
>
> Gracias.
>
>


Preguntas similares