从Temp表中选择时,在SQL中选择

时间:2017-08-08 02:10:40

标签: sql sql-server sql-server-2008

我有下面的代码,我首先创建一个临时表,第二个是动态查询的一部分,我在其中通过查询tempdb.sys.Columns为我的表创建一个标题行。

我遇到的问题是我不知道如何对表列进行别名,所以如果列是ItemDesc,那么我希望标题说"项目描述"。

 create table #FeesCalculation
    (
        ItemId char(20), 
        ItemDesc varchar(max),  
        Units varchar(600) ,  
        Rate decimal(18,3), 
        Frequency varchar(60),
        Annual decimal(18,3),
        BasedOn nvarchar(max)  
    )    
    SELECT    
     @FIELDS=COALESCE(@FIELDS, '' '','''')+ ''<td style='' + ''"border:1px solid   black;color:white">'' +  name  +  ''</td>'' 
 FROM tempdb.sys.Columns
    WHERE object_id=object_id(''tempdb..#FeesCalculation'')
    AND name not like ''CustColHTML_ID'' 
    AND name not like ''ItemID''

2 个答案:

答案 0 :(得分:1)

这是你想要的吗?

SELECT @FIELDS = (COALESCE(@FIELDS, '' '','''') + ''<td style='' + 
                  ''"border:1px solid   black;color:white">'' +
                  (CASE WHEN name = 'ItemDesc' THEN '[Item Description]' ELSE name END) +  ''</td>'' 
                 )

答案 1 :(得分:0)

SELECT REPLACE(@FIELDS,'ItemDesc','Item Description')