Buenos días.

Apuesto a que faltan requerimientos sobre lo que quieres hacer, por ejemplo:

-Entiendo mejor el enunciado si donde pones “columnas”, lo sustituyo por
“filas”. Voy a suponer que no te has confundido y que solo es un antojo mío.

-Entiendo que la tabla de resultado va a tener una sola fila con las
sumatorias de las columnas de la tabla original.

-Lo que no tengo tan claro es cuantas columnas va a tener la tabla de
resultado. He de suponer que 10 (tantas como la tabla original).

-En ese caso me pregunto que hay que poner en el campo que corresponda a la
columna que ha sumado 0.

Me queda esto:

 

INSERT INTO Destino (Columna1) 

SELECT CHAR(SUM(Columna1)), 

FROM Origen 

HAVING SUM(Columna1)>0

 

Que tienes que hacerlo para cada columna. Creo que puede hacerse en un solo
paso, pero no sé si el IF puede usarse dentro del SELECT.

De todas formas, no estoy seguro que esto sea lo que quieres.

 

Gustavo Adolfo Márquez Álvarez.

Departamento de Informática.

[email protected]

 

inforZitro, S. L.

Carretera de Níjar, nº 404.

04007 Almería (España).

Teléfono:    950 226 658.

Extensión:              148.

Fax:          950 223 620.

-----Mensaje original-----
De: [email protected]
[mailto:[email protected]] En nombre de Jaime Villa
Torres
Enviado el: jueves, 17 de septiembre de 2009 00:31
Para: forum.help400
Asunto: Ayuda en sql

 

Señores, les solicito la siguiente ayuda.

 

Tengo un archivo con 10 campos numéricos de longitud  de 20.0 cada uno.

 

Se requiere detectar las columnas que su sumatoria sean mayor de ceros.

 

Con las n columnas que sean mayor que ceros, generar una tabla, con columnas
de longitud 20, pero alfas.

 

Considero que esto es muy eficiente con sql, pero no le encontrado una forma
rapida.

La primera era detectar columna por columna y llevar un control en un dim de
cuales de las diez eran mayores de ceros, luegos crear una tabla con las que
sean mayor de ceros, pero la colaboración que solicito, es si esto lo puedo
realizar en una sola sentencia.

 

Gracias de antemano por su tiempo. 

____________________________________________________
© Publicaciones Help400, S.L. - Todos los
derechos reservados http://www.help400.es
----------------------------------------------------
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400

Responder a