【发布时间】:2019-04-14 08:07:29
【问题描述】:
我有连接多个列,我想要连接多少列的计数
查询输出和预期输出是
用于连接
select ConcateColumn = STUFF(
COALESCE('* ' + RTRIM(col1),'')
+COALESCE('* ' + RTRIM(col2),'')
+COALESCE('* ' + RTRIM(col4),'')
+COALESCE('* ' + RTRIM(col3),'')
, 1, 2, '')
表格
===================================
| col1 | col2 | col3 | col4 |
===================================
| 1 | 2 | NULL | NULL |
| NULL | NULL | NULL | NULL |
| 1 | NULL | NULL | NULL |
| NULL | 2 | 3 | 4 |
| | NULL | NULL | NULL |
==================================
结果输出
==============
|ConcateColumn|
==============
|1*2 |
|NULL |
|1 |
|2*3*4 |
| |
===============
预期输出
------------------------
| Count | ConcateColumn |
-------------------------
| 2 | 1*2 |
| 0 | NULL |
| 1 | 1 |
| 3 | 2*3*4 |
| 0 | |
-------------------------
如果我得到的计数绰绰有余
【问题讨论】:
-
在我的脑海中,您可以使用
CASE语句和子查询来实现此目的。您已经尝试过什么计算? -
请注意列数是动态的
标签: c# sql .net sql-server model-view-controller