SQL 检索具有字段值的记录,同时还检索空记录

SQL Retrieve records with values on a field while also retrieving records that are null

我有 table 条记录,我想检索具有一个字段值的记录,同时还检索在同一字段上为空的记录。

从发布的要求来看,如果字段 3 中有另一行对于 Field1 和 Field2 的相同值是非空的,那么您似乎想要平息字段 3 中的空行

SELECT Field1, Field2, MAX(Field3) 
FROM t 
GROUP BY Field1, Field2

如果您有多个具有值的行并且您想要保留所有这些值,您可以使用联合来做一些事情:

SELECT Field1, Field2, Field3 
FROM t
WHERE Field3 IS NOT NULL

UNION ALL

SELECT Field1, Field2, NULL
FROM t
GROUP BY Field1, Field2
HAVING COUNT(Field3) = 0

如果得到所有非空值,加上计算 Field3 结果为 0 的所有行(即 field3 对只有空值)