将一行的数据转换成多行解决方案
将一行的数据转换成多行
表T1(只两行):
L1 L2
AAA
001 AB
CD
002 BB
DDD
想查询出这样的结果(五行):
L1 L2
001 AAA
001 AB
001 CD
002 BB
002 DDD
表T1只有两行的数据(001和002那两行),想分成结果那样,请问SQL2000查询语句怎样写.
------解决方案--------------------
格式t1表不明确
------解决方案--------------------
表T1(只两行):
L1 L2
AAA
001 AB
CD
002 BB
DDD
想查询出这样的结果(五行):
L1 L2
001 AAA
001 AB
001 CD
002 BB
002 DDD
表T1只有两行的数据(001和002那两行),想分成结果那样,请问SQL2000查询语句怎样写.
------解决方案--------------------
格式t1表不明确
------解决方案--------------------
- SQL code
create table T(L1 char(3),L2 varchar(100)) insert T select '001','AAA'+char(10)+'AB'+char(10)+'CD' insert T select '002','BB'+char(10)+'DDD' go declare @sql varchar(8000) set @sql = '' select @sql = @sql + replace(L2,char(10),''' union select '''+L1+''', ''') from (select l1,char(10)+ l2 as l2 from t) a set @sql = stuff(@sql,1,8,'')+'''' exec(@sql) drop table t /* ---- ---- 001 AAA 001 AB 001 CD 002 BB 002 DDD */