读书人

将一行的数据转换成多行解决方案

发布时间: 2012-01-11 22:28:46 作者: rapoo

将一行的数据转换成多行
表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'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*/ 

读书人网 >SQL Server

热点推荐