首页 > 解决方案 > 如果行仅包含一个值,则选择行

问题描述

我正在尝试查找在 Col J 到 Col L 中具有 null 的所有行

我的输出应该如下所示(绿色是我所期望的,其他应该被忽略):

在此处输入图像描述 我尝试了下面的代码,但没有奏效:

-- Step 1 get all the data as required

select Col A,   Col B,  Col C,  Col D,  Col E,  Col F,  Col G,  Col H,  Col I,  Col J,  Col K,  Col L,
into tempDB
from MainDB

-- Step 2
select ColB, min(Col C) , min(Col D), min(Col E), min(Col F)
from tempDB 
where Col J = Col K and Col L = null
group by Col B

标签: sqlsql-servergroup-byhaving-clause

解决方案


尝试这个-

SELECT ColB, 
MIN(ColC) , MIN(ColD), MIN(ColE), MIN(ColF)
FROM tempDB 
GROUP BY Col B
HEVING SUM(COALESCE (ColJ,0)) = 0
AND SUM(COALESCE (ColK,0)) = 0
AND SUM(COALESCE (ColL,0)) = 0

推荐阅读