--你下次将表数据分开,不然很难看懂.
--不知道下面的结果是不是满足你的要求.if object_id('pubs..table1') is not null
   drop table table1
gocreate table table1
(
userName   varchar(10),
aaa_0aaa_t varchar(10),
bbb_0bbb_t varchar(10),
ccc_0ccc_t varchar(10)
)
insert into table1(userName,aaa_0aaa_t,bbb_0bbb_t,ccc_0ccc_t) values('myName','005-1-1','505-1-5','605-1-6')
select * from table1select 你需要的列名 into #table0 from
(
  select 'aaa' + aaa_0aaa_t as 你需要的列名 from table1
  union all
  select 'bbb' + bbb_0bbb_t as 你需要的列名 from table1
  union all
  select 'ccc' + ccc_0ccc_t as 你需要的列名 from table1
) tselect * from #table0
drop table table1
drop table #table0--原始数据
userName   aaa_0aaa_t bbb_0bbb_t ccc_0ccc_t 
---------- ---------- ---------- ---------- 
myName     005-1-1    505-1-5    605-1-6--结果
你需要的列名        
------------- 
aaa005-1-1
bbb505-1-5
ccc605-1-6(所影响的行数为 3 行)

解决方案 »

  1.   


    --不好意思,没注意到显示的结果会这样。create table table1
    (
      userName   varchar(10),
      aaa_score  int,
      aaa_time   varchar(10),
      bbb_score  int,
      bbb_time   varchar(10),
      ccc_score  int,
      ccc_time   varchar(10)
    )insert into table1(userName,aaa_score,aaa_time,bbb_score,bbb_time,ccc_score,ccc_time) values('myName',0,'05-1-1',0,'05-1-5',8,'05-1-6')select * from table1 where userName = 'myName'   --要将此行转为一个临时表。create table #table0
    (
      [itemName]     varchar(10),
      [score]      int,
      [time]       smalldatetime
    )--要将select的行转成上面的表中。结果要如下:
    表名:#table0
    列名:itemName      [score]     [time]
    数据:aaa           0           05-1-1
          bbb           5           05-1-5
          ccc           8           05-1-6请问如何实现?dawugui(潇洒老乌龟) 大哥的看的不是很明白。谢谢各位大哥了。
      

  2.   

    上面的
    aaa
    bbb
    ccc
    用select语句从另一个表获得。
      

  3.   

    dawugui(潇洒老乌龟) 大哥 
    希望不吝赐教啊 。