大侠现身啊!!
我有一个表a,两个字段t_1,t_2,部分记录如下:
t_1 t_2
a 1010
b 1020
c 1030
d 1010;1020;1030
我想将现在这个表中的最后一条记录 "d 1010;1020;1030 "分成三条记录 "d 1010 ", "d 1020 ", "d 1030 ",该如何实现???
系统限制不能使用函数
谢谢
------解决方案--------------------SELECT TOP 3000 id = IDENTITY(int, 1, 1) INTO # FROM syscolumns a, syscolumns b
SELECT id1=identity(int,1,1),A.t_1,mingcheng=SUBSTRING(A.t_2,B.id,CHARINDEX( '; ',A.t_2+ '; ',B.id)-B.id)
FROM tablename A, # B
WHERE SUBSTRING( '; ' + A.mingcheng, B.id, 1) = '; '
------解决方案--------------------liang213654() ( ) 信誉:100 2007-08-06 12:32:23 得分: 0
继续上面问题,就是在以上结果的基础上我如何按照t_2分类统计?例如:1010 2项,1020 2项,1030 2项
这个问题解决,即可结帖
---------------------
--測試
Select Top 100 ID = Identity(Int, 1, 1) Into #T From Syscolumns A, Syscolumns B
Select
t_2,
Count(t_2) As 项
From
(
Select
t_1,
t_2 = Substring(A.t_2, B.ID, CharIndex( '; ', A.t_2 + '; ', B.ID) - B.ID)
From A, #T B
Where Substring( '; ' + a.t_2, B.id, 1) = '; '
) A
Group By
t_2
Drop Table #T