Problemas Numa Consulta Sql
#1
Posted 05/02/2007, 14:32
Tenho um problema...
Tenho uma tablea de atendimento, cujo existe um campo chamado RETORNO e DATA....
DATA = eh gravado qnd um novo atendimento for feito
RETORNO = uma data q o cara escolhe pra pessoa retornar...
O que eu preciso?
Baseado nesses dois campos eu preciso fazer com q...supomos q um retorno foi agendado pra ontem, mas nao retornaram, eu preciso q ele me mostre todos os cadastros q nao foram retornado (uma vez q foram agendado o retorno deles)...
E como sei se ele retornou ou nao?!!
Se houver algum reistro dps do retorno agendado, jah eh considerado um retorno..ou seja, se foi cadastrado um novo atendimento depois do q jah tinha sido programado o retorno (feito pela pessoa) ele acusaria q ja foi feito o atendimento..por exemplo...se DATA for maior q RETORNO, ja acusaria q foi feito..mas aih eu preciso de todos q nao foram atendidos...
mas eu fiz uns sql do tipo WHERE DATA < RETORNO..soh q ele trazem osoutros atendimentos antigos..e eu precisaria saber soh se nao há atendimento após o ultimo registro...
Obrigado
#2
Posted 05/02/2007, 14:57
De PHP para Programação Desktop / Banco de Dados
- Desenvolvedor Python/ZOPE/Plone + ArchGenXML/Poseidon - Python + Django na Universidade de Caxias do Sul
- Desenvolvedor Python + Django na World News
Blog
#3
Posted 05/02/2007, 15:37
MCP .NET WebApplications C#
MCP SQL Server 2000
Desenvolvedor Delphi/PHP
#4
Posted 05/02/2007, 20:39
Edição feita por: mysteriouspy, 05/02/2007, 21:11.
#5
Posted 06/02/2007, 07:39
SELECT * FROM TABELA WHERE DATA = CURRENT_DATE - 1 AND RETORNO IS NULL
Edição feita por: Noturno, 06/02/2007, 07:39.
MCP .NET WebApplications C#
MCP SQL Server 2000
Desenvolvedor Delphi/PHP
#6
Posted 06/02/2007, 08:09
Por duas situaçoes:
1º O current_data - 1 ele pega soh a data anterior ao dia de hj (pelo q percebi) e tipo...essa verificaçao eu keria fazer se tipo..se nao houvesse atendimento após qualquer data q for..
Ou seja, eu posso ter um retorno q foi agendado pra semana passada e nao foi atendido e nesse caso eu precisaria mostrar (nao importando a data), a DATA seria apenas uma referencia do tipo, se existir uma DATA após o ultimo RETORNO agendado (nesse caso seria um novo atendimento) significa q o atendimento foi retornado, senao, nao...
O outro problema eh q o RETORNO IS NULL ele nao reconhece eu acho, pq o valor default dele (q o banco tah gravando) eh 0000-00-00, ou isso ja eh considerado valor NULL?!!
Edição feita por: mysteriouspy, 06/02/2007, 08:16.
#7
Posted 06/02/2007, 09:56
Mais simples ainda:
SELECT * FROM TABELA WHERE RETORNO = '0000-00-00'
Eu não sabia que o seu campo tinha valor default, por isso coloquei null.
MCP .NET WebApplications C#
MCP SQL Server 2000
Desenvolvedor Delphi/PHP
#8
Posted 06/02/2007, 10:35
Supondo q esteja marcado um retorno mas a pessoa nao retornou..um retorno = a 0000-00-00 nao funcionaria pq aih ele me retorna todos os iguais a 0000-00-00 ou seja, os q nao possuem um atendimento sem retorno e nao os q foram marcados o retorno mas q nao foi retornado
abraçoss!!!
#9
Posted 06/02/2007, 10:43
SELECT * FROM TABELA WHERE RETORNO = '0000-00-00' or DATA > RETORNO
MCP .NET WebApplications C#
MCP SQL Server 2000
Desenvolvedor Delphi/PHP
#10
Posted 06/02/2007, 12:18
de qualqur forma brigadao pela tentativa cara
#11
Posted 07/02/2007, 08:35
MCP .NET WebApplications C#
MCP SQL Server 2000
Desenvolvedor Delphi/PHP
#12
Posted 10/02/2007, 08:33
Pq nesse select, ele pode por exemplo, no atendimento vai mostrar RETORNO = 0000-00-00 ou DATA > RETORNO....mas essa data > q retorno pode ser de qlqr retorno e nao do penultimo para o ultimo..
e no caso de retorno = 0000-00-00 ele vai me retornar qlqr retorno q nao foi agendado, ou seja, eu preciso do retorno q foi agendado mas q nao foi atendido...
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)