首页 > 解决方案 > 选择满足范围内所有日期的 where 子句的所有内容?

问题描述

我有这个查询

SELECT DISTINCT fc,cohort, value
FROM test.input_test
WHERE value IS NULL AND date BETWEEN '2019-07-01' AND '2019-09-30';

我想选择整个数据范围内值为空的所有行(不仅在某些特定日期)。

标签: sql

解决方案


你可以试试下面:

SELECT DISTINCT IT.fc, IT.cohort, IT.value
FROM test.input_test AS IT
LEFT JOIN 
(
    SELECT fc,cohort, value 
    FROM test.input_test 
    WHERE value IS NOT NULL AND date BETWEEN '2019-07-01' AND '2019-09-30'
) AS QUERY_2 ON IT.fc = QUERY_2.fc AND IT.cohort = QUERY_2.cohort AND  IT.value = QUERY_2.value
WHERE QUERY_2.fc IS NULL

推荐阅读