非空时选择行

时间:2016-11-02 22:50:51

标签: mysql select null where

我的表格如下:

Client_ID  |  Date1   | Date2

 1         | 3/3/2015 | 3/13/2015
 2         | 3/4/2015 | 3/13/2015
 3         | 3/5/2015 | 3/14/2015
 3         | 3/5/2015 | 3/15/2015
 4         | 3/6/2015 | NULL
 4         | 3/7/2015 | 3/17/2015
 5         | 3/7/2015 | 3/17/2015
 6         | 3/7/2015 | NULL

我想获取其中' Date2'的client_ID。 ='日期1 + 10'天和其他没有其他Date2是' NULL'对于同一个client_ID。

所以在这里,预期结果将是:客户1,3,5。 PS:4不是答案之一,因为它有一个“空”条目。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

试试这个

select 
    Client_ID
from
    your_table
where
    Date2 is not null
    and Date1 = DATE_ADD(Date2, INTERVAL 10 DAY)

答案 1 :(得分:0)

SELECT a.Client_ID
FROM table AS a
WHERE a.Date2 - a.Date1 = 10
AND NOT EXISTS
(
SELECT '1'
FROM table AS b
WHERE b.Client_ID = a.Client_ID
AND b.Date2 Is Null
)