34,576
社区成员
发帖
与我相关
我的任务
分享
Declare @t table (A int,B varchar(10),C varchar(200))
Insert Into @t Select 1,'甲','A,B,C,D,E'
Insert Into @t Select 2,'乙','M,N,O'
Select * From @t
/**
想实现的结果,环境MS SQL 2005
1 甲 A
1 甲 B
1 甲 C
1 甲 D
1 甲 E
2 乙 M
2 乙 N
2 乙 O
**
Declare @t table (A int,B varchar(10),C varchar(200))
Insert Into @t Select 1,'甲','A,B,C,D,E'
Insert Into @t Select 2,'乙','M,N,O'
Select A,B,
SS=SUBSTRING(C,NUMBER,CHARINDEX(',',C+',',NUMBER)-NUMBER)
From @t,MASTER..SPT_VALUES
WHERE TYPE='P' AND NUMBER>0 AND SUBSTRING(','+C,NUMBER,1)=','
A B SS
----------- ---------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1 甲 A
1 甲 B
1 甲 C
1 甲 D
1 甲 E
2 乙 M
2 乙 N
2 乙 O
(8 行受影响)