SP SQL
Como agrupar em um Stored Procedure a quantidade vendida em cada mes
for select SUM(EMOV.MV_QTDADE),Extract (Month from EMOV.MV_DATA) as MES
from ESMOVIM EMOV
where (EMOV.MV_DATA between :INICIO and :FIM AND EMOV.PR_COD =:COD_ESTOQUE)
GROUP /// aqui e o problema não agrupa
into :QTD ,:MES
for select SUM(EMOV.MV_QTDADE),Extract (Month from EMOV.MV_DATA) as MES
from ESMOVIM EMOV
where (EMOV.MV_DATA between :INICIO and :FIM AND EMOV.PR_COD =:COD_ESTOQUE)
GROUP /// aqui e o problema não agrupa
into :QTD ,:MES
Ccbclaudio
Curtidas 0
Respostas
Afarias
25/07/2003
|for select SUM(EMOV.MV_QTDADE),Extract (Month from
|EMOV.MV_DATA) as MES from ESMOVIM EMOV
|where (EMOV.MV_DATA between :INICIO and :FIM
|AND EMOV.PR_COD =:COD_ESTOQUE)
|GROUP /// aqui e o problema não agrupa
|into :QTD ,:MES
O Interbase 6.0 não permite agrupar por função. Vc tem 3 opções:
1-criar uma view e fazer o select nela
2-ter um campo ´calculado´ na tabela
3-ter um campo ´normal´ na tabela preenchido por uma trigger
ex:
CREATE VIEW VW_ESMOVIM (MV_QTDADE, MV_DATA, PR_COD, MV_MES) AS
SELECT MV_QTDADE, MV_DATA, PR_COD, EXTRACT (MONTH FROM
MV_DATA) FROM ESMOVIM ;
for select SUM(MV_QTDADE), MV_MES from VW_ESMOVIM
where (MV_DATA between :INICIO and :FIM
AND PR_COD =:COD_ESTOQUE)
GROUP by MV_MES
into :QTD ,:MES do {...}
T+
|EMOV.MV_DATA) as MES from ESMOVIM EMOV
|where (EMOV.MV_DATA between :INICIO and :FIM
|AND EMOV.PR_COD =:COD_ESTOQUE)
|GROUP /// aqui e o problema não agrupa
|into :QTD ,:MES
O Interbase 6.0 não permite agrupar por função. Vc tem 3 opções:
1-criar uma view e fazer o select nela
2-ter um campo ´calculado´ na tabela
3-ter um campo ´normal´ na tabela preenchido por uma trigger
ex:
CREATE VIEW VW_ESMOVIM (MV_QTDADE, MV_DATA, PR_COD, MV_MES) AS
SELECT MV_QTDADE, MV_DATA, PR_COD, EXTRACT (MONTH FROM
MV_DATA) FROM ESMOVIM ;
for select SUM(MV_QTDADE), MV_MES from VW_ESMOVIM
where (MV_DATA between :INICIO and :FIM
AND PR_COD =:COD_ESTOQUE)
GROUP by MV_MES
into :QTD ,:MES do {...}
T+
GOSTEI 0