将一行的数据转换成多行
表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表不明确
[解决办法]
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'godeclare @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) aset @sql = stuff(@sql,1,8,'')+''''exec(@sql)drop table t/* ---- ---- 001 AAA001 AB001 CD002 BB002 DDD*/