【发布时间】:2019-08-15 00:52:45
【问题描述】:
我想要一些关于如何完成这项任务的建议。如何创建 sql 语句以将表转换为显示的预期输出?只是希望指出正确的方向!
是否可以仅使用读取权限来执行此操作?因此无法创建函数或额外的表。我有 SQL Server 2012,但可以升级到 2016。
编辑:对于之前 ID 列的错误示例,我真的很抱歉。 ID 列现在是唯一的主键。感谢您的所有建议和帮助。
Table:
ID Value
100 aaa, bbb, ccc
101 aaa, bbb, ccc
102 aaa, bbb, ccc
103 abc, bcb, zzz
104 abc, bcb, zzz
105 abc, bcb, zzz
Expected:
ID Value
100 aaa
101 bbb
102 ccc
103 abc
104 bcb
105 zzz
【问题讨论】:
-
您确定您的表格数据正确吗?似乎每个
id值只有一行,然后您希望将value列解析为单独的行。 -
解析成三列是可行的。只需搜索带有对
charindex()的嵌套调用的逗号即可。使用cross apply和values获取多行。 -
T-SQL split string的可能重复
标签: sql tsql split sql-server-2012