我有一个表,其中某些字段有多个条目,但其他字段没有。下面是一个例子:如果存在非空记录,我需要编写一个查询,该查询将返回带有数值的“type”值的不同列表,但只有在没有与相应数值匹配的“type”值时,才返回带有null值的“type”值。所以,对于上表,我需要这样一个记录集:我以为这会很容易,但我一直在挠头。谢谢你的帮助。
ohtdti5x1#
可以使用聚合:
select type, max(col2) from t group by type;
这保证了对于第一列中的每个值只返回一行,并且您只得到 NULL 当所有的值 NULL .如果需要所有非空值和一个代表 NULL 其中一个不存在,可以使用如下逻辑:
NULL
select type, col2 from t where col2 is not null union al select type, null from t group by type having max(col2) is null;
1条答案
按热度按时间ohtdti5x1#
可以使用聚合:
这保证了对于第一列中的每个值只返回一行,并且您只得到
NULL
当所有的值NULL
.如果需要所有非空值和一个代表
NULL
其中一个不存在,可以使用如下逻辑: