Я делаю динамический поворот, подобный этим, я хотел заменить значения Null в полях 0 после поворота. Не знаю, как я могу это достичь. Вот мой запрос.Обработка нулевых значений в динамических полях поворота
DECLARE @cols AS NVARCHAR(MAX);
DECLARE @query AS NVARCHAR(MAX);
DECLARE @users TABLE (
\t userId UNIQUEIDENTIFIER
\t ,NAME VARCHAR(500)
\t);
INSERT INTO @users
SELECT u.id
\t ,u.firstname + space(1) + u.lastname NAME
FROM users u
INNER JOIN userparametervalues upv ON u.id = upv.userid
INNER JOIN UserPermissions up ON u.id = up.userid
\t AND up.PermissionId IN (
\t \t '34FDF821-E3FF-43B2-AA90-0126BF5FAD56'
\t \t ,'CFC3076F-0BED-4A41-BD1D-0240C4535132'
\t \t)
\t AND upv.parameterid = '137696EA-6B68-42E8-A020-2FA5A833F34E'
INNER JOIN users AS u1 ON upv.value = u1.id
\t AND u1.UserName IN (
\t \t 'IN\libin.jose'
\t \t ,'IN\Pallabi.P'
\t \t)
UNION
SELECT users.id id
\t ,users.firstname + space(1) + users.lastname NAME
FROM users
WHERE UserName IN (
\t \t 'IN\libin.jose'
\t \t ,'IN\Pallabi.P'
\t \t)
SELECT @cols = STUFF((
\t \t \t SELECT DISTINCT ',' + QUOTENAME(NAME)
\t \t \t FROM @users
\t \t \t FOR XML PATH('')
\t \t \t \t ,TYPE
\t \t \t).value('.', 'NVARCHAR(MAX)'), 1, 1, '');
SELECT @query = '
SELECT *
FROM
(
select LoanPrograms.Name, (case when UserParameterValues.value is null then ''X'' else ''√'' end) as K ,(users.FirstName + space(1)+users.LastName ) L from LoanPrograms
\t left join UserParameterValues on LoanPrograms.id = UserParameterValues.ValueId and ParameterId = ''CD1DB446-75EF-4887-86ED-4313CCE6D2F1''
\t \t left join users on UserParameterValues.UserId = Users.Id \t
) AS t
PIVOT
(
MAX(k)
FOR L IN(' + @cols + ')' + ') AS p ; ';
EXECUTE (@query);
Я получаю результат, как это.
Name \t Akansha a \t Lia Jose \t Libin \t Pallabi a
----------------- ---------- --------- -------- ------
CONF 10 YEAR FIXED \t NULL \t NULL \t NULL \t Y
CONF 10 YR 105 \t NULL \t NULL \t NULL \t NULL
CONF 10 YR 125 \t NULL \t Y \t NULL \t NULL
CONF 10 YR LPMI \t Y \t NULL \t NULL \t NULL
CONF 10/1 LIBOR ARM \t NULL \t NULL \t NULL \t NULL
Я хотел бы заменить все нулевые значения на 0.