我一直在到处寻找答案,但似乎找不到答案。如果这是重复的,我真的很抱歉,但我真的需要一些帮助
我有一个非常简单的case-when语句,它按预期工作
CASE WHEN Table.Expirydate < @Today AND CON.Column IS NULL
THEN count(ContactID) OVER (PARTITION BY column,type ) END
但是,它产生两条线
结果是
NAME COUNTID CLAUSE
A 10 5
A 10 NULL
B 1 1
B 1 NULL
理想情况下,我希望删除带有null的行-
NAME COUNTID CLAUSE
A 10 5
B 1 1
我试过一个建议
CASE WHEN MAX(CASE WHEN END)
但这是错误的。我用了一个凝聚器,这不起作用。我可能错过了一些非常明显的东西!
为了澄清这一点,不容易将其放在where子句中,因为我的存储过程中有许多这样的语句。
select语句的基本部分如下-
作为我的select语句
Table1.Id AS NAME
,Count(ConID) OVER (PARTITION BY Table1.Id2) AS COUNTID
,Case When Statement AS CLAUSE