如何将 sql 数据透视表中的空值替换为零?
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX);
SET @cols = STUFF((SELECT distinct ',' + QUOTENAME(c.[Offer_cover])
FROM #cover2 c
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
set @query = 'SELECT Ref,role_name,offer_id, ' + @cols + ' from
(
select*
from #cover2
) x
pivot
(
SUM(cover_earning_Count)
for [offer_cover] in (' + @cols + ')
) p '
execute(@query)
Run Code Online (Sandbox Code Playgroud)
输出:
Ref role_name offer_id 10000 104000 112000
43132_43282 Call Center 1 1 NULL NULL
43132_43282 Others 1 2 NULL NULL …Run Code Online (Sandbox Code Playgroud) 我该如何编写触发器来查找重复值并将其删除。
CREATE TRIGGER [dbo].[deleteduplicate]
ON [dbo].[products]
AFTER INSERT
AS
BEGIN
declare @productname nvarchar(20),@prodcutid int
select productname=@productname,productid=@prodcutid from inserted
if exists (select productname=@productname from products)
begin
delete products
where @productname=productname
end
END
Run Code Online (Sandbox Code Playgroud)