SELECT COM DATAS
Bom Diaa
mais uma vez estou precisando da ajuda de vocês..
eu tenho uma tabela onde são armazenadas 5 datas de nascimento..
e eu preciso fazer um relatório onde são exibidos os aniversariantes de um determinado
perÃodo..
esse é o meu select, por exemplo
select d.Cod, d.Nome, d.DataNasc, d.Dependente1, d.DataNasc1, d.Dependente2,
d.Esposo, d.DataNascEsposo, d.DataNasc2, d.Dependente3, d.DataNasc3,m.Descricao
from Dizimistas as d
inner join Missa as m on d.CodMissa=m.Cod where
(DAY (d.DataNasc)) between 01 and 05 and
(day (d.DataNasc1)) between 01 and 05 and
(day (d.DataNasc2)) between 01 and 05 and
(day (d.DataNasc3)) between 01 and 05 and
(day (d.DataNascEsposo)) between 01 and 11 and
(MONTH(d.DataNasc)) between 01 and 01 and
(MONTH(d.DataNasc1)) between 01 and 01 and
(MONTH(d.DataNasc2)) between 01 and 01 and
(MONTH(d.DataNasc3)) between 01 and 01 and
(MONTH(d.DataNascEsposo)) between 01 and 06
ele está errado, pois ou ele seleciona todas as datas, ou não aparece nenhuma
Alguém pode me ajudar?
Desde ja agradeço
mais uma vez estou precisando da ajuda de vocês..
eu tenho uma tabela onde são armazenadas 5 datas de nascimento..
e eu preciso fazer um relatório onde são exibidos os aniversariantes de um determinado
perÃodo..
esse é o meu select, por exemplo
select d.Cod, d.Nome, d.DataNasc, d.Dependente1, d.DataNasc1, d.Dependente2,
d.Esposo, d.DataNascEsposo, d.DataNasc2, d.Dependente3, d.DataNasc3,m.Descricao
from Dizimistas as d
inner join Missa as m on d.CodMissa=m.Cod where
(DAY (d.DataNasc)) between 01 and 05 and
(day (d.DataNasc1)) between 01 and 05 and
(day (d.DataNasc2)) between 01 and 05 and
(day (d.DataNasc3)) between 01 and 05 and
(day (d.DataNascEsposo)) between 01 and 11 and
(MONTH(d.DataNasc)) between 01 and 01 and
(MONTH(d.DataNasc1)) between 01 and 01 and
(MONTH(d.DataNasc2)) between 01 and 01 and
(MONTH(d.DataNasc3)) between 01 and 01 and
(MONTH(d.DataNascEsposo)) between 01 and 06
ele está errado, pois ou ele seleciona todas as datas, ou não aparece nenhuma
Alguém pode me ajudar?
Desde ja agradeço
Olha, vc está colocando [Ô]AND[Ô] entre uma cláusula e outra, tente colocar [Ô]OR[Ô] ou algo parecido. Sua consulta vai lhe retornar algo só se estiver resultados entre todas as cláusulas.
esse é o problema..
se não houver resultados em todas as clausulas, é possivel exibir as que possuem resultado
e outras aparecerem NULL ?
se não houver resultados em todas as clausulas, é possivel exibir as que possuem resultado
e outras aparecerem NULL ?
Use o [Ô]OR[Ô] no lugar do [Ô]AND[Ô].
Uma pergunta, por exemplo como está gravado no campo [Ô]DataNasc[Ô]?
Muito obrigada pela ajuda..
agora so falta mais uma coisa
como posso usar o case
(case when DataNasc1>[ô]1899-12-30[ô] then DataNasc1 else null end) as DataNasc1
nessa parte do sql
(day (d.DataNasc1)) between 01 and 02 or
agora so falta mais uma coisa
como posso usar o case
(case when DataNasc1>[ô]1899-12-30[ô] then DataNasc1 else null end) as DataNasc1
nessa parte do sql
(day (d.DataNasc1)) between 01 and 02 or
está gravado desse jeito : 2012-03-26
Não sei lhe dizer ao certo, mas dê uma olhada no artigo baixo e veja se consegue.
http://www.portaleducacao.com.br/informatica/artigos/6356/utilizando-a-clausula-case-em-um-select-sql-server
http://www.portaleducacao.com.br/informatica/artigos/6356/utilizando-a-clausula-case-em-um-select-sql-server
ALTAIR148
não deu certo o uso do [Ô]OR[Ô] no lugar do [Ô]AND[Ô]
segue em anexo o perÃodo escolhido
e as data exibidas
não deu certo o uso do [Ô]OR[Ô] no lugar do [Ô]AND[Ô]
segue em anexo o perÃodo escolhido
e as data exibidas
QUal o banco de dados, ACCESS ?
CASTELO
o banco é sql server 2008
o banco é sql server 2008
Tópico encerrado , respostas não são mais permitidas