Ajuda com codigo sql

12/12/2003

0

Olá caros colegas, estou com um pequeno problema com meu codigo sql é o seguinte: No meu codigo abaixo ele me lista os filiados com o numero de faltas que eu informo no periodo mas eu queria que ele me informasse o numero as pessoas que tem exemplo 30 faltas no periodo mas o total de faltas e não o numero por mês. Estou usando o codigo abaixo so que eu quero que me mostre o total e não o mes a mes.
Ex.: eu informo 01/01/03 a 15/12/03 30 faltas e ele me mostra as pessoas neste periodo que tem 30 ou mais faltas no total
IF RADIOGROUP1.ITEMINDEX=4 THEN
begin
ADOQUERY1.Close;
ADOQUERY1.SQL.Clear;

ADOQUERY1.SQL.Add(´SELECT F.CODIGO, F.MATRICULA, S.NOME, SUM(F.FALTAS) AS TOTFALTAS, COUNT(F.FALTAS) AS QUANTIDADEMESES FROM TBFALTAS F, TBSERVIDOR S ´);
ADOQUERY1.SQL.Add(´WHERE S.MATRICULA=F.MATRICULA AND F.DATA>=:ID AND F.DATA<=:ID1 AND F.FALTAS>=:ID2 GROUP BY F.CODIGO, F.MATRICULA, S.NOME ORDER BY S.NOME´);

ADOQUERY1.Parameters.ParamByName(´ID´).VALUE:=STRTODATE(EDIT2.Text);
ADOQUERY1.Parameters.ParamByName(´ID1´).VALUE:=STRTODATE(EDIT3.Text);
ADOQUERY1.Parameters.ParamByName(´ID2´).VALUE:=STRTOINT(EDIT4.Text);


ADOQUERY1.OPEN;

END;


Cláudiogyn

Cláudiogyn

Responder

Posts

12/12/2003

Rodrigo Costa

SELECT F.MATRICULA, S.NOME, SUM(F.FALTAS) AS TOTFALTAS
FROM TBFALTAS F, TBSERVIDOR S
WHERE S.MATRICULA=F.MATRICULA AND F.DATA>=´01/01/2003´ AND F.DATA<=´12/31/2003´
GROUP BY F.MATRICULA, S.NOME
HAVING SUM(F.FALTAS) > 1
ORDER BY S.NOME

Resultado:

MATRICULA NOME TOTFALTAS
---------- ---------- -----------
01             joao         3
02             maria       3


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar