Fórum SP SQL #37611

25/07/2003

0

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


Ccbclaudio

Ccbclaudio

Responder

Posts

26/07/2003

Afarias

|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+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar