MySQL查询列表,其中开始日期比另一个记录结束日期晚一天

时间:2015-12-17 16:57:30

标签: mysql

我有下表的示例。在这个例子中,我想查询程序名称何时bdate是另一个的edate之后的日子。

cnum      Program    bdate         edate
1         bob        2012-07-21    2013-08-14       
2         fred       2013-08-15    Null        
3         joe        2012-10-11    Null
4         dan        2012-08-11    2014-12-16        

我想找到使用MySQL语句的fred。为了帮助我理解这个陈述,桌子可以称为psty。谢谢,

2 个答案:

答案 0 :(得分:0)

将表格名称和*更改为您需要的列名列表

select * 
    from 
       mytable 
      join 
       mytable t2 
      on datediff(t.bdate,t2.edate)=1

example on sqlfiddle

答案 1 :(得分:0)

SELECT x.* FROM my_table x JOIN my_table y ON y.edate + INTERVAL 1 DAY = x.bdate;