小编use*_*198的帖子

SQL Server:GROUP BY子句用于获取逗号分隔值

可能重复:
SQL Server中的SQL group_concat函数

我想创建一个查询但不知何故我无法这样做.有人可以帮帮我吗?

原始数据

ID    ReportId     Email
1     1            a@a.com
2     2            b@b.com
3     1            c@c.com
4     3            d@d.com
5     3            e@e.com
Run Code Online (Sandbox Code Playgroud)

我想分组ReportId,但所有电子邮件都应以逗号分隔.所以结果应该是:

ReportId     Email
1            a@a.com, c@c.com
2            b@b.com
3            d@d.com, e@e.com
Run Code Online (Sandbox Code Playgroud)

做这个的最好方式是什么?

我正在尝试group by子句,但如果还有其他任何事情,那么我也愿意实现它.我非常感谢您的时间和帮助.谢谢.

sql sql-server-2008

77
推荐指数
2
解决办法
10万
查看次数

将列数据存储为行MS SQL的最佳方法

我有一些数据,哪些列是动态的,列数据的数量可以随时增加/减少.所以我打算以行方式而不是列格式存储它们.

我放置了主列表,并指出了列使用的数据类型.我正在绘制下面的主表供您参考

CID     Name          Type
1      Speed         Double
2      Input1        Bool
3      Message       String
.......
.......
Run Code Online (Sandbox Code Playgroud)

现在我已经想到了存储这个动态列数据的两种方法.第一种方法是

CID      Data_bool       Data_String      Data_Double
1        NULL            NULL             12
2        True            NULL             NULL
3        NULL            test             NULL
1        NULL            NULL             5
1        NULL            NULL             15
Run Code Online (Sandbox Code Playgroud)

第二种方法是有一个通用的varchar列并将每个值存储为字符串,所以它看起来像

CID      Datas
1        12
2        True
3        test
1        5
1        15
Run Code Online (Sandbox Code Playgroud)

如果从数据库规范化的角度来看,第二种方式似乎是好的.但我认为这可能会在数据检索中产生问题.因为我想过滤像"Speed> 10"这样的数据.因此,如果我采取第二种方式(我将所有值存储为字符串)我认为表达式将需要更多时间来评估如果我首先使用表达式然后首先我需要确定我需要评估表达式的列.防爆.对于表达速度> 10,首先我必须检查速度是哪种数据类型(字符串,bool等),然后再次执行"data_double> 10"的表达式

两者都有其自身的缺点.有人可以指出哪种方式会让我在将来减少头痛.请记住,此表将在后期增加数百万条记录.

我感谢您的观点和时间.谢谢.

c# sql sql-server sql-server-2008

9
推荐指数
1
解决办法
1011
查看次数

检查电话号码是否有效/真实

我手头有一个新项目非常复杂,因为我不知道它的领域.我的要求是这个,我们有电话号码列表,我需要查看哪个电话号码是有效/真实的.

您如何编程电话或IVR系统以自动拨打此列表上的电话号码并自动检测它是否是有效的电话号码?我想用C#编写这个解决方案.

c# ivr voip telephony

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×2

sql ×2

sql-server-2008 ×2

ivr ×1

sql-server ×1

telephony ×1

voip ×1