首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2012-01-11 
将一行的数据转换成多行表T1(只两行):L1L2AAA001ABCD002BBDDD想查询出这样的结果(五行):L1L2001AAA001AB00

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

热点排行