2017-08-08 62 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', '項目說明')