Select e count na mesma instrução
19/07/2017
0
Vejam a tela
[IMG]http://i64.tinypic.com/ogmebk.png[/IMG]
Ao clicar na hora, devia me trazer tudo que tem gravado naquela hora e na data que selecionei no calendario, mas traz todos os dados da tabela.
Alguem sabe onde estou errando?
with frmdm.qrAgenda do begin Close; SQL.Clear; SQL.Add('SELECT DATA, HORA, COD_PACIENTE, COD_PROCEDIMENTO,'); SQL.Add('(SELECT COUNT(*) FROM AGENDA WHERE HORA = :HORA AND DATA = :DATA) AS QT_TOTAL'); SQL.Add('FROM AGENDA'); ParamByName('HORA').AsTime:= cdsHorariosHORA.AsDateTime; ParamByName('DATA').AsDate:= MonthCalendar1.Date; Open; end;
Renan
Posts
19/07/2017
Luiz Vichiatto
begin
Close;
SQL.Clear;
SQL.Add(''SELECT DATA, HORA, COD_PACIENTE, COD_PROCEDIMENTO,'');
SQL.Add(''(SELECT COUNT(*) FROM AGENDA ag WHERE ag.HORA = :HORA AND ag.DATA = :DATA) AS QT_TOTAL'');
SQL.Add(''FROM AGENDA'');
ParamByName(''HORA'').AsTime:= cdsHorariosHORA.AsDateTime;
ParamByName(''DATA'').AsDate:= MonthCalendar1.Date;
Open;
end;
19/07/2017
Renan
19/07/2017
Renan
no ibexpert uso assim e funciona, mas traz tudo do banco e preciso filtrar por data e hora
SELECT DATA, HORA, COD_PACIENTE, COD_PROCEDIMENTO, (SELECT COUNT(*) FROM AGENDA B WHERE B.HORA = A.HORA AND B.DATA = A.DATA) AS QT_TOTAL FROM AGENDA A
19/07/2017
Luiz Vichiatto
no ibexpert uso assim e funciona, mas traz tudo do banco e preciso filtrar por data e hora
SELECT DATA, HORA, COD_PACIENTE, COD_PROCEDIMENTO, (SELECT COUNT(*) FROM AGENDA B WHERE B.HORA = A.HORA AND B.DATA = A.DATA) AS QT_TOTAL FROM AGENDA A
Experimente a mesma no seu código e faça o ''where'' em A, no código
SELECT DATA, HORA, COD_PACIENTE, COD_PROCEDIMENTO, (SELECT COUNT(*) FROM AGENDA B WHERE B.HORA = A.HORA AND B.DATA = A.DATA) AS QT_TOTAL FROM AGENDA A WHERE A.DATA=:DATA AND A.HORA=:HORA
20/07/2017
Renan
Era isso mesmo que estava faltando.
Muito obrigado.
Clique aqui para fazer login e interagir na Comunidade :)