Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Problema al agrupar fechas por mes (https://www.clubdelphi.com/foros/showthread.php?t=61220)

Mauro® 30-10-2008 18:04:51

Problema al agrupar fechas por mes
 
Hola a todos.
Tengo un problema y quisiera saber si me pueden ayudar u orientarme para buscar una solución.
Deseo hacer una consulta SQL para obtener las ventas de articulos agrupadas por mes y por artículo. La he creado con el siguiente código, pero me da error en interbase 7.5, si la ejecuto en firebird funciona.

Código SQL [-]
SELECT EXTRACT(MONTH FROM STOCKMOV.FEC_INGRESO) AS MES, STOCKMOV.CANT, ARTICULOS.COD_ART
FROM STOCKMOV INNER JOIN ARTICULOS ON (STOCKMOV.ART_ID = ARTICULOS.ART_ID)
GROUP BY
STOCKMOV.CANT, ARTICULOS.COD_ART, EXTRACT(MONTH FROM STOCKMOV.FEC_INGRESO) AS MES

El error que obtengo es que no reconoce la columna 'MES', he probado con MES y con la sentencia completa EXTRACT pero no funciona.

Desde ya muchas gracias.
Saludos a todos.
Mauro.-

duilioisola 30-10-2008 18:11:02

Prueba quitando MES en la parte GROUP BY
Código SQL [-]
SELECT EXTRACT(MONTH FROM STOCKMOV.FEC_INGRESO) AS MES, STOCKMOV.CANT, ARTICULOS.COD_ART
FROM STOCKMOV INNER JOIN ARTICULOS ON (STOCKMOV.ART_ID = ARTICULOS.ART_ID)
GROUP BY
STOCKMOV.CANT, ARTICULOS.COD_ART, EXTRACT(MONTH FROM STOCKMOV.FEC_INGRESO)

tambien puedes probar numerando los campos por los que vas a agrupar
Código SQL [-]
SELECT EXTRACT(MONTH FROM STOCKMOV.FEC_INGRESO) AS MES, STOCKMOV.CANT, ARTICULOS.COD_ART
FROM STOCKMOV INNER JOIN ARTICULOS ON (STOCKMOV.ART_ID = ARTICULOS.ART_ID)
GROUP BY 2, 3, 1
Nota : No recuerdo si los campos del select se numeran en base a 0 o a 1.

Mauro® 30-10-2008 18:40:21

No funciona
 
Gracias por responder tan pronto duilioisola.
Probé de las dos formas y tampoco funciona.

Ya he probado varias cosas pero no puedo hacerlo andar.
Saludos,
Mauro

a_f_g 03-11-2008 15:57:38

proba asi
 
Select Extract(month From Stockmov.fec_ingreso) As Mes, Stockmov.cant, Articulos.cod_art
From Stockmov Inner Join Articulos On (stockmov.art_id = Articulos.art_id)
Group By
Stockmov.cant, Articulos.cod_art, Mes

Mauro® 03-11-2008 16:34:18

Ya probé
 
Gracias por tu respuesta, ya probé de esta manera pero tampoco funciona.
Aquí está el error.

Can't format message 13:794 -- message system code -4.
Dynamic SQL Error.
SQL error code = -206.
Column unknown.
MES.

Saludos,
Mauro

a_f_g 05-11-2008 11:46:04

Podrias Crear Un Procedimiento Almacenado De Este Y Del Resultado Hace Una Consulta Para Agrupar Seria Primer Paso

Crar Procedimiento Alamacenado
Select Extract(month From Stockmov.fec_ingreso) As Mes, Stockmov.cant, Articulos.cod_art
From Stockmov Inner Join Articulos On (stockmov.art_id = Articulos.art_id)

Luego Consulta Del Procedimiento

Select Pa.mes, From Pa Group By Pa.mes

Podes Probar Asi...


La franja horaria es GMT +2. Ahora son las 13:23:31.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi