Jump to content


Photo

[Ajuda] Como Selecionar Um Registro Buscando A Informação Em 2 Campos?


  • Faça o login para participar
1 reply to this topic

#1 els1952

els1952

    Novato no fórum

  • Usuários
  • 1 posts
  • Sexo:Não informado

Posted 06/06/2011, 21:03

Tenho um BD MySQL, com uma Tabela fases_phases_fases, com os seguintes registros:

id i_date t_date
25 2011-04-24 2011-06-01
26 2011-06-01 2011-06-09
27 2011-06-09 2011-06-15

Gostaria de selecionar o registro que atendesse as características abaixo, porém não estou conseguindo. Retorna como vazio... Não deveria retornar o registro com ID 26? O que estou fazendo de errado?

SELECT *
FROM `fases_phases_fases`
WHERE `i_date` >= '2011-06-06'
AND `t_date` <= '2011-06-06'

Muito obrigado.

[els]

#2 windfall

windfall

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Masculino
  • Localidade:Rio

Posted 15/07/2011, 09:13

els1952, na tabela em exemplo não há registro que atenda à sua consulta, pois seu select quer um i_date maior ou igual a '2011-06-06' e um t_date menor ou igual a '2011-06-06' AO MESMO TEMPO.


id |i_date |t_date |Análise
25 2011-04-24 2011-06-01 idate não é maior que '2011-06-06', só tdate atende pois é menor que '2011-06-06'
26 2011-06-01 2011-06-09 idate não é maior que '2011-06-06', tdate não é menor que '2011-06-06'
27 2011-06-09 2011-06-15 idate atende pois é maior que '2011-06-06', porém tdate não atende pois não é menor que '2011-06-06'


A sua consulta pede que atenda as duas condições simultaneamente (vide o 'AND'):

SELECT *
FROM `fases_phases_fases`
WHERE `i_date` >= '2011-06-06'
AND `t_date` <= '2011-06-06'

Se for uma ou outra deve usar o 'OR' no lugar do 'AND'

Abraços.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq