如何将select 的结果放到一个列里面~!? 
如:
select CMPNAM,DCDEPT from CSEMPL_1 where DCNO='042' CMPNAM      DCDEPT 
47523       CFF749
如何把数据改成一列:如:
47523    
CFF749    

解决方案 »

  1.   

    select ltrim(CMPNAM)CMPNAM from CSEMPL_1 where DCNO='042'
    union all
    select DCDEPT from CSEMPL_1 where DCNO='042' 
      

  2.   

    select CMPNAM from CSEMPL_1 where DCNO='042' union all
    select DCDEPT from CSEMPL_1 where DCNO='042'  
      

  3.   

    select CMPNAM from CSEMPL_1 where DCNO='042' 
    union all
    select DCDEPT from CSEMPL_1 where DCNO='042'   
      

  4.   


     select   CMPNAMDCDEPT 
    from
     (select CMPNAM,DCDEPT from CSEMPL_1 where DCNO='042')as b
    unpivot(CMPNAMDCDEPT for CMPNAMDCDEPT in([CMPNAM],[DCDEPT])) as p水族的那方法可行,但还可以用unpivot()函数,建议楼主看下,上面写的没有经过测试
      

  5.   

    unpivot这个函数应该可以,我刚看过!
      

  6.   

    如果LZ就这两条的话,用1-3楼的都可以
    如果数据量多的话,用unpivot这个函数好点
      

  7.   


    create table #(DCNO varchar(50),CMPNAM varchar(50), DCDEPT varchar(50))
    --数据insert into #
    select '041','47524', 'CFF749'
    union all
    select '042','47525', 'CFF740'
    union all
    select '043','47526', 'CFF741'--利用unpivot将CMPNAM,DCDEPT转换为列值
    select CMPNAMDCDEPT '列名'
    from
     (select DCNO,CMPNAM,DCDEPT from # where DCNO='041')as itm
    unpivot(CMPNAMDCDEPT for value in([CMPNAM],[DCDEPT])) as p
    order by DCNO/*
    列名
    47524
    CFF749
    */drop table #