我有一个相当简单的要求 - 我有一个表,其中包含以下(相关)结构。SQL Server 2008每行分割字符串变量令牌数
with cte as(
select 1 id,'AA,AB,AC,AD' names union all
select 2,'BA,BB' union all
select 3,'CA,CB,CC,CD,CE' union all
select 4,'DA,DB,DC'
)
我想创建一个select语句,将每个“名称”列拆分为多行。
例如第一行应该产生
1,'AA'
1,'AB'
1,'AC'
1,'AD'
我们能做到这一点只使用SQL。这在Oracle中很容易实现。
它通常是不透明的查询,但逗号是分开的d列表确实使情况复杂化。理想情况下,您应该更正数据模型,以便在单个列值中不包含用逗号分隔的值。 – 2010-06-17 20:44:43