皆さん、良い昼/夜。私はストアド プロシージャを初めて使用します。ストアド プロシージャに関しては、経験と理解が不足しています。他のチュートリアルと回答を試しましたが、isnull(payment,'0') または coalesce(payment,'0') を使用したときにクエリが機能しなかった理由がわかりません。
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からのユーザー入力に依存します)。
null 値を 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
nullを0に置き換えたい。