0
對所有人來說都是美好的日子/夜晚。 我是存儲過程的新手,我對存儲過程缺乏經驗和理解。我嘗試了其他教程和答案,但我不知道爲什麼我的查詢在使用isnull(付款,'0')或合併(付款,'0')時無法正常工作。SQL SERVER替換動態PIVOT中的空值
declare @sql as nvarchar(max) = '[2013-04-01],[2013-04-02],[2013-04-03],[2013-04-04],[2013-04-05],[2013-04-06]';
declare @name as nvarchar(max) = 'Derichel'
set @sql =
'SELECT pid, [Fullname], ' + @sql + '
FROM
(SELECT pid, [Fullname], payment, dateregistration
from tbl_Personal
) AS s
PIVOT
(
min(payment)
FOR dateregistration IN (' + @sql + ')
) AS pvt
where [Fullname] = ''' + @name + '''
order by pid'
execute sp_executesql @sql;
一些答案和教程在IN()中有固定的列。 我的@sql已被設置爲不同的日期(這取決於來自gui的用戶輸入)。
如何將空值替換爲0?
以上代碼的輸出是
pid Fullname [2013-04-01] [2013-04-02] [2013-04-03] [2013-04-04] [2013-04-05] [2013-04-06]
6 Derichel NULL NULL NULL NULL NULL 0
我想更換空爲0
如何更改IN()中的列,如果它有固定的列名稱? – Sephiroth111
您仍然可以在構建@SQL變量中的SELECT子句時使用類似的技術,但需要使用不同的變量構造FOR ... IN子句。 – bobs