2017-08-08 61 views
0

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

我遇到的问题是,我不知道如何为表格列别名,所以如果列是说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'' 

回答

1

这是你想要的吗?

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

这是perfect..can妳告诉我如何处理多个案例场景 – user1221989

+0

@ user1221989。 。 。只需添加多个'WHEN' /'THEN'子句。 –

0

选择替换(@FIELDS, 'ItemDesc', '项目说明')