Ayuda con sentencia SQL

15/02/2011 - 16:59 por Ariel M. | Informe spam
Buenos dias a todos (los que quedamos), hacia un tiempo que no leía el
foro, pero con sorpresa veo que todavía quedamos algunos por aca.

Tengo un problema con una consulta sobre una tabla solamente. La
consulta es la siguiente (resumida para que sea clara):

SELECT MONTH(FECHA_FACT) AS PERIODO,
(SELECT IIF(SUM(TOTAL) IS NULL,0,SUM(TOTAL)) FROM COMPRAS WHERE
(YEAR(FECHA_FACT)= 2011 AND ID_CLASE = 1)) AS TOTAL_FT,
(SELECT IIF(SUM(TOTAL) IS NULL,0,SUM(TOTAL)) FROM COMPRAS WHERE
(YEAR(FECHA_FACT)= 2011 AND ID_CLASE = 2)) AS TOTAL_NC,
(SELECT IIF(SUM(TOTAL) IS NULL,0,SUM(TOTAL)) FROM COMPRAS WHERE
(YEAR(FECHA_FACT)= 2011 AND ID_CLASE = 3)) AS TOTAL_ND
FROM COMPRAS
WHERE YEAR(FECHA_FACT)= 2011
GROUP BY MONTH(FECHA_FACT)
ORDER BY MONTH(FECHA_FACT);

La idea de la consulta es que me sume en un campo el total de las
facturas, en otro el total de las Notas de crédito y en otro el total de
las Notas de débito (para hacer cálculos), del año que le paso por
parámetro (en este caso 2011), y agrupadas por mes. El asunto es que me
repite los valores en todos los meses que encuentra, quedando algo asi

PERIODO TOTAL_FT TOTAL_NC TOTAL_ND

1 2782,049 224,1233 343
2 2782,049 224,1233 343

Quisiera saber si alguien me puede indicar que me falta en la consulta.
La base de datos es Access 2003.

Gracias de antemano a la gente que con buena voluntad continua
respondiendo las consultas que realizamos

Saludos cordiales
Ariel

Preguntas similare

Leer las respuestas

#1 Leonardo Azpurua
15/02/2011 - 22:36 | Informe spam
"Ariel M." escribió en el mensaje
news:ije7so$v50$
Buenos dias a todos (los que quedamos), hacia un tiempo que no leía
el foro, pero con sorpresa veo que todavía quedamos algunos por aca.

Tengo un problema con una consulta sobre una tabla solamente. La
consulta es la siguiente (resumida para que sea clara):

SELECT MONTH(FECHA_FACT) AS PERIODO,
(SELECT IIF(SUM(TOTAL) IS NULL,0,SUM(TOTAL)) FROM COMPRAS WHERE
(YEAR(FECHA_FACT)= 2011 AND ID_CLASE = 1)) AS TOTAL_FT,
(SELECT IIF(SUM(TOTAL) IS NULL,0,SUM(TOTAL)) FROM COMPRAS WHERE
(YEAR(FECHA_FACT)= 2011 AND ID_CLASE = 2)) AS TOTAL_NC,
(SELECT IIF(SUM(TOTAL) IS NULL,0,SUM(TOTAL)) FROM COMPRAS WHERE
(YEAR(FECHA_FACT)= 2011 AND ID_CLASE = 3)) AS TOTAL_ND
FROM COMPRAS
WHERE YEAR(FECHA_FACT)= 2011
GROUP BY MONTH(FECHA_FACT)
ORDER BY MONTH(FECHA_FACT);

La idea de la consulta es que me sume en un campo el total de las
facturas, en otro el total de las Notas de crédito y en otro el
total de las Notas de débito (para hacer cálculos), del año que le
paso por parámetro (en este caso 2011), y agrupadas por mes. El
asunto es que me repite los valores en todos los meses que
encuentra, quedando algo asi

PERIODO TOTAL_FT TOTAL_NC TOTAL_ND

1 2782,049 224,1233 343
2 2782,049 224,1233 343

Quisiera saber si alguien me puede indicar que me falta en la
consulta.
La base de datos es Access 2003.

Gracias de antemano a la gente que con buena voluntad continua
respondiendo las consultas que realizamos




Hola,

Tengo tiempo que no trabajo en Access, pero imagino que puede ser algo
como:

SELECT MONTH(FECHA_FACT) AS PERIODO,
SUM(IIF(ID_CLASE = 1, IIF(TOTAL IS NULL, 0, TOTAL), 0)) AS TOTAL_FT,
SUM(IIF(ID_CLASE = 2, IIF(TOTAL IS NULL, 0, TOTAL), 0)) AS TOTAL_NC,
SUM(IIF(ID_CLASE = 2, IIF(TOTAL IS NULL, 0, TOTAL), 0)) AS TOTAL_ND
FROM COMPRAS
WHERE YEAR(FECHA_FACT)= 2011
GROUP BY MONTH(FECHA_FACT)
ORDER BY MONTH(FECHA_FACT);

Salud!
Respuesta Responder a este mensaje
#2 Ariel M.
15/02/2011 - 23:11 | Informe spam
Hola,

Tengo tiempo que no trabajo en Access, pero imagino que puede ser algo
como:

SELECT MONTH(FECHA_FACT) AS PERIODO,
SUM(IIF(ID_CLASE = 1, IIF(TOTAL IS NULL, 0, TOTAL), 0)) AS TOTAL_FT,
SUM(IIF(ID_CLASE = 2, IIF(TOTAL IS NULL, 0, TOTAL), 0)) AS TOTAL_NC,
SUM(IIF(ID_CLASE = 2, IIF(TOTAL IS NULL, 0, TOTAL), 0)) AS TOTAL_ND
FROM COMPRAS
WHERE YEAR(FECHA_FACT)= 2011
GROUP BY MONTH(FECHA_FACT)
ORDER BY MONTH(FECHA_FACT);

Salud!




Para llevar tiempo sin trabajar en Access funcionó perfecto! :-)
Gracias Leonardo (una vez mas).

Saludos. Ariel
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida