Zordrac
22/09/2005 - 17:31
Olá
D7 ,Firebird 1.5, ZeosDb0 6.1.5
Tenho uma tabela de materiais por empresa.Filtro por um combobox (onchange >filter)
Nesta tabela estão diversos materiais com suas datas de compra.
Preciso SQL
Que selecione da tabela materiais, SÓ os Materiais por fábrica indicada no combobox
Some as quantidades de cada material IGUAL da tabela com data para compra IGUAL.
SE data de compra for diferente executa outra soma MESMO se o material for igual
Lista por material/quantidade/data
MATERIAL A/ 200PEÇAS/ 25/09
MATERIAL A/ 100PEÇAS/ 26/09
MATERIAL A/ 200PEÇAS/ 27/09
MATERIALB/ 150PEÇAS/ 24/09
MATERIALB/ 350PEÇAS/ 25/09
MATERIALB/ 150PEÇAS/ 26/09
E assim por diante
Deve ser bem simples mas não uso muito SQL.
Agradeço qualquer ajuda
Kra... naum dah pra entender direito o q vc quer fazer... tentah postar um pouco mais explicado.. talvez eu consiga t ajudar... do jeito q tah naum entendi direito o q vc precisa...
Vlw.
Obrigado pela atenção e desculpe se não fui claro
Esta seria a tabela
Material qtd data
AAAAA 200 04/09
AAAAA 100 04/09
BBBBB 100 05/09
BBBBB 100 05/09
BBBBB 100 05/09
CCCC 200 05/09
CCCC 100 05/09
CCCC 100 06/09
CCCC 100 06/09
Somar os materiais IGUAIS COM DATA IGUAL
AAAAA 300 04/09
BBBBB 300 05/09
CCCC 300 05/09
CCCC 200 06/09
Soma as qtd do mesmo material até mudar a data.Como no material CCCC somou todos iguais mas respeitando as datas 05/09 300 e 06/09 200.
Espero ter sido claro.Grato desde ja´.
ZORDRAC
26/09/2005 - 16:49
Após muitas tentativas funcionou assim:
with dm2.ZqSomaM66 do begin //4
Close;
SQL.Clear;
SQL.ADD ('Select DISTINCT DTCMPR,MATERIAL_EST,');
SQL.ADD ('SUM(QTD)as TOTAL ,');
SQL.ADD ('From MATEREMESSAFNL ');
SQL.ADD ('Where fabrica =:fabrica' );
SQL.ADD ('group by DTCMPR, MATERIAL_EST');
SQL.ADD ('ORDER by MATERIAL_EST, DTCMPR ASC');
ParamByName('fabrica').AsString := combobox1.Text;
open;
end;
Obrigado de qualquer forma.
Esta é uma versão simplificada de nosso conteúdo principal. Para ver a versão completa com maiores informações, formatação e imagens, por favor
clique aqui.