sql - 选择满足范围内所有日期的 where 子句的所有内容?
问题描述
我有这个查询
SELECT DISTINCT fc,cohort, value
FROM test.input_test
WHERE value IS NULL AND date BETWEEN '2019-07-01' AND '2019-09-30';
我想选择整个数据范围内值为空的所有行(不仅在某些特定日期)。
解决方案
你可以试试下面:
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
推荐阅读
- sql - 在 Oracle 中将值舍入到小数点到 2 以进行查询
- postgresql - 如何使用与“postgres”不同的用户名登录 PostgreSQL 以及如何加密特定列?
- sql - Sql Server 使用 CONTAINS 函数作为选择语句中的列
- sql - 在查询字符串中使用 '
- pyspark - 如何将一个 6 位数字拆分为一列 4 位和一列 2 位(例如:201452 分为 2014 和 52)
- css - 如何在 .Net Framework WebAPI 项目中使用 npm/yarn 安装?
- java - 存储大量资金总额和内存/存储影响 - BigDecimal vs Integer 和最佳实践?
- mysql - 根据数据库表的其他行中的值设置一列的值
- javascript - 数组和对象中 eslint 的自定义缩进规则
- ios - 无法从 Xcode 将应用加载到应用商店。有什么办法可以解决这个问题吗?