Fórum SQL - Como fazer para mostrar os valores de vendas mes/mes #37237

03/07/2003

0

Tenho que fazer um relatório onde saia somente o total de vendas de cada mes. Olhem minha sql:

SELECT SUM(NOT_TOTALLIQ) AS VALOR ,EXTRACT(MONTH FROM NOT_DTEMISSAO) AS MES FROM NOTAFISCAL
GROUP BY MES

Mas o interbase não aceita o group by utilizando a palavra MES. Alguem sabe como fazer ?


Weber

Weber

Responder

Posts

03/07/2003

Afarias

>> Mas o interbase não aceita o group by utilizando a palavra MES.

É verdade. O IB 6.0 não aceita GROUP BY por função.

vc tem 2 (duas) soluções:

1 - crie uma view da tabela, e execute seu relatório a partir da view:

create view VW_NOTAFISCAL (TOTAL_LIQ, DATA_EMISSAO, MES, ...) as
select NOT_TOTALLIQ, NOT_DTEMISSAO, EXTRACT(MONTH FROM NOT_DTEMISSAO), ... FROM NOTAFISCAL;

select mes, sum(total_liq) as valor from vw_notafiscal
group by mes;


2 - tem um campo MES (integer) em sua tabela q seria preenchido por uma TRIGGER:

create trigger NOME_TRIGGER for NOTAFISCAL before insert as
begin
new.MES = extract(month from new.NOT_DTEMISSAO);
end^

create trigger NOME_TRIGGER for NOTAFISCAL before update as
begin
if (new.NOT_DTEMISSAO <> old.NOT_DTEMISSAO) then
new.MES = extract(month from new.NOT_DTEMISSAO);
end^



T+


Responder

Gostei + 0

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

Aceitar