Fórum Criar Somatorio com Quick Report #429327
21/11/2012
0
ID_Atendimento
Atendimento
EX: ID = 1 | Atendimento = Auxilio Natalidade
ID = 2 | Atendimento = Auxilio Mortalidade
ID = 3 | Atendimento = Regularizaçao de CPF
e outra tabela "Lançamentos"
ID_Lancamento
Data
ID_Familia
ID_Atendimento
EX: ID_Lancamento | Data | ID_Familia | ID_Atendimento
01 | 10/11/2012 | 05 | 01 (Auxilio Natalidade)
02 | 15/11/2012 | 03 | 03 (Regularizaçao de CPF)
03 | 16/11/2012 | 07 | 01 (Auxilio Natalidade)
04 | 20/11/2012 | 02 | 01 (Auxilio Natalidade)
Relatorio sairia assim no intervalo de datas do dia 01/11 a 30/11
Atendimento Qtde
01 - Auxilio Natalidade 03
02 - Auxilio Mortalidade 00
03 - Regularizacao de CPF 01
Flavio Prado
Curtir tópico
+ 0Posts
21/11/2012
William
SELECT distinct(A.atendimento), COUNT(L.ID_ATENDIMENTO) FROM atendimento A LEFT JOIN lancamentos L ON A.id_lancamento = L.id_atendimento group BY L.id_atendimento, A.atendimento
Gostei + 0
22/11/2012
Flavio Prado
deu certinho... muito Obrigado
Gostei + 0
22/11/2012
William
Gostei + 0
27/11/2012
Flavio Prado
Gostei + 0
27/11/2012
William
SELECT distinct(A.atendimento), COUNT(L.ID_ATENDIMENTO) FROM atendimento A INNER JOIN lancamentos L ON A.id_lancamento = L.id_atendimento group BY L.id_atendimento, A.atendimento
Desse modo só serão exibidos os registros q atenderem as condições, do outro modo usando o LEFT ele trazia os registros da tabela do lado esquerdo, mesmo não atendendo as condições.
Gostei + 0
19/12/2012
Flavio Prado
with DM.Query1 do
begin
Close;
SQL.Add('select distinct (A.atendimento), (A.data), COUNT(L.id_tipoatendimento) from Atendimentos.db');
SQL.Add('where A.Data >= :dtInicial and A.Data <= :dtFinal');
SQL.Add('A INNER JOIN lancamentos.db L ON A.id_atendimentos = L.id_tipoatendimento');
SQL.Add('group BY L.id_tipoatendimento, A.atendimento');
ParamByName('dtInicial').AsDate := dtInicial.Date;
ParamByName('dtFinal').AsDate := dtFinal.Date;
Open;
end;
porem da erro
invalid use of keyword
token: select
Line Number:6
Gostei + 0
19/12/2012
Claudia Nogueira
with DM.Query1 do
begin
Close;
SQL.Add('select distinct (A.atendimento), (A.data), COUNT(L.id_tipoatendimento) from Atendimentos A');
SQL.Add('INNER JOIN lancamentos.db L ON A.id_atendimentos = L.id_tipoatendimento');
SQL.Add('where A.Data >= :dtInicial and A.Data <= :dtFinal');
SQL.Add('group BY L.id_tipoatendimento, A.atendimento');
ParamByName('dtInicial').AsDate := dtInicial.Date;
ParamByName('dtFinal').AsDate := dtFinal.Date;
Open;
end;
Gostei + 0
15/01/2013
Flavio Prado
select distinct(A.atendimento), COUNT(L.id_tipoatendimento) FROM atendimentos.db A INNER JOIN lancamentos.db L ON A.id_atendimentos = L.id_tipoatendimento group BY L.id_tipoatendimento, A.atendimento
esse codigo faz o seguinte, pega o id da tabela Atendimento.db e soma quantas vezes foi lançado na tabela Lancamentos.db
agora eu preciso fazer esse somatorio em um período de tempo da tabela de Lancamentos.db, tipo "where data >= DataIni and Data <= DataFim", tentei de varias formas mas nao consegui...
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)