如何解决SQL:NULL或为空时将值合并为一个结果
| 我有一个SQL查询,该查询返回两列-\“ Title \”和\“ Count \”。当\“ Title \”为NULL或为空(\'\')时,我想将结果合并为一行。我怎样才能做到这一点? 这是我到目前为止所拥有的:SELECT [Title] WHEN \'\' THEN \'blank\' ELSE ISNULL([Title],\'blank\') AS [Title],COUNT([value]) AS [Count]
FROM ....
WHERE ....
GROUP BY [Title],[Count]
但由于分组依据,它们被分为两行:
解决方法
SELECT CASE WHEN COALESCE([Title],\'\') = \'\' THEN \'blank\'
ELSE [Title]
END AS [Title],COUNT([value]) AS [Count]
FROM ....
WHERE ....
GROUP BY CASE WHEN COALESCE([Title],\'\') = \'\' THEN \'blank\'
ELSE [Title]
END
,Joe Stefanelli的解决方案的替代方案:
Select Case
When Len( [Title] ) > 0 Then [Title]
Else \'blank\'
End
From ...
Group By Case
When Len( [Title] ) > 0 Then [Title]
Else \'blank\'
End
,在GROUP BY子句中有[Count]列似乎很可疑...如果仅按[Title]分组,是否可以工作?
,合并
选择title_id,count(*),COALESCE(type,pub_id)
从标题
通过...分组
title_id,类型,pub_id
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。