【发布时间】:2020-05-01 07:01:13
【问题描述】:
如何获取一个字符串并转换为一列(随着源字符串的变化而动态变化):
例子:
(select *
from table
inner join
(select column1, [dynamic field] from table) as dynamic_data
on table.column1 = dynamic_data.column1)
Column1
------
a,b,c
c,d,e
a,f,e
到这里
column1 a b c d e f
-------------------
a,b,c |x|x|x| | | |
c,d,e | | |x|x|x| |
a,f,e |x| | | |x|x|
【问题讨论】:
-
您使用的是哪个 dbms?
-
请注意,表格有列,而不是字段。
-
Microsoft SQL Server 标准版 12
-
最好的方法是修复设计并停止存储分隔字符串。它违反了 1NF,而且很痛苦。鉴于这种动态的性质,如果您坚持使用这种架构,您将需要动态 sql。
-
分隔字符串不在我的控制范围内,所以它会保持这种状态。希望某种支点方法可以做到,只是不知道如何。
标签: sql sql-server text dynamic csv