Fórum Como realizar esta consulta entre datas e horas? #608371
26/02/2020
0
por exemplo, quero saber quantos ouvintes participaram de ontem do meio dia, até hoje 18 hrs, mas algo esta errado na minha consulta abaixo.
Só que com a consulta realizada, ele não mostra as gravações de ontem depois das 18 até meia noite, ele mostra as de ontem de meio dia as 18, e hoje ele mostra depois do meio dia até as 18..
O que seria?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | close; sql . Clear; sql . Add( 'select inscricao_id, inscricao_idouvinte, inscricao_idpromocao, ' ); sql . Add( 'inscricao_datacadastro, inscricao_horacadastro, tbouvinte.ouvinte_nome, ' ); sql . Add( 'tbouvinte.ouvinte_celular, tbouvinte.ouvinte_telefone from tbinscricao ' ); sql . Add( 'LEFT JOIN tbouvinte ' ); sql . Add( 'on(tbinscricao.inscricao_idouvinte = tbouvinte.ouvinte_id) ' ); sql . Add( 'WHERE inscricao_idpromocao like :pPromocao and ' ); sql . Add( 'inscricao_datacadastro BETWEEN :pData1 AND :pData2 ' ); sql . Add( 'and inscricao_horacadastro between :phora1 AND :phora2 ' ); sql . Add( 'ORDER BY inscricao_datacadastro, inscricao_horacadastro' ); ParamByName( 'pPromocao' ).Value := edt_promocao . EditValue; ParamByName( 'pData1' ).Value := dtinicial . Date; ParamByName( 'pData2' ).Value := dtfinal . Date; ParamByName( 'pHora1' ).Value := strtotime(timetostr(hrinicial . Time)); ParamByName( 'pHora2' ).value := strtotime(timetostr(hrfinal . Time)); open; |
Agradeço a todos.

Júnior Pinheiro
Curtir tópico
+ 0Posts
26/02/2020
Emerson Nascimento
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | close; sql . Clear; sql . Add( 'select inscricao_id, inscricao_idouvinte, inscricao_idpromocao, ' ); sql . Add( 'inscricao_datacadastro, inscricao_horacadastro, tbouvinte.ouvinte_nome, ' ); sql . Add( 'tbouvinte.ouvinte_celular, tbouvinte.ouvinte_telefone from tbinscricao ' ); sql . Add( 'LEFT JOIN tbouvinte ' ); sql . Add( 'on(tbinscricao.inscricao_idouvinte = tbouvinte.ouvinte_id) ' ); sql . Add( 'WHERE inscricao_idpromocao like :pPromocao ' ); sql . Add( 'and (inscricao_datacadastro >= :pData1 AND inscricao_horacadastro >= :phora1) ' ); sql . Add( 'and (inscricao_datacadastro <= :pData2 AND inscricao_horacadastro <= :phora2) ' ); sql . Add( 'ORDER BY inscricao_datacadastro, inscricao_horacadastro' ParamByName( 'pPromocao' ).Value := edt_promocao . EditValue; ParamByName( 'pData1' ).Value := dtinicial . Date; ParamByName( 'pData2' ).Value := dtfinal . Date; ParamByName( 'pHora1' ).Value := strtotime(timetostr(hrinicial . Time)); ParamByName( 'pHora2' ).value := strtotime(timetostr(hrfinal . Time)); open; |
Gostei + 0
27/02/2020
Júnior Pinheiro
Gostei + 0
27/02/2020
Emerson Nascimento
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | close; sql . Clear; sql . Add( 'select inscricao_id, inscricao_idouvinte, inscricao_idpromocao, ' ); sql . Add( 'inscricao_datacadastro, inscricao_horacadastro, tbouvinte.ouvinte_nome, ' ); sql . Add( 'tbouvinte.ouvinte_celular, tbouvinte.ouvinte_telefone from tbinscricao ' ); sql . Add( 'LEFT JOIN tbouvinte ' ); sql . Add( 'on(tbinscricao.inscricao_idouvinte = tbouvinte.ouvinte_id) ' ); sql . Add( 'WHERE inscricao_idpromocao like :pPromocao ' ); sql . Add( 'and (inscricao_datacadastro+inscricao_horacadastro BETWEEN :pDtHr1 AND :pDtHr2) ' ); sql . Add( 'ORDER BY inscricao_datacadastro, inscricao_horacadastro' ); ParamByName( 'pPromocao' ).Value := edt_promocao . EditValue; ParamByName( 'pDtHr1' ).Value := dtinicial . Date + hrinicial . Time; ParamByName( 'pDtHr2' ).Value := dtfinal . Date + hrfinal . Time; open; |
Gostei + 0
01/03/2020
Júnior Pinheiro
Obrigado mesmo.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)