小编Nc_*_*_Sr的帖子

如何替换数据透视表中的NULL值?

我尝试创建一个仅包含字符串的数据透视表.

这是我表的简单版本:

CREATE TABLE SecurityGroup (GroupName VARCHAR(20), SecLevel VARCHAR(20),       Power VARCHAR(20))
INSERT INTO SecurityGroup 
SELECT 'GroupA','Level1','read'
UNION
SELECT 'GroupA','Level2','write'  
UNION
SELECT 'GroupA','Level3','read'  
UNION
SELECT 'GroupA','Level4','read'  
UNION
SELECT 'GroupA','Level4','write' 
Run Code Online (Sandbox Code Playgroud)

我想使用PIVOT函数来获取以下Resultset

期望

GroupName    Level1    Level2    Level3    Level4
GroupA       read      write     read      read
GroupA       read      write     read      write
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是Level1 - Level3的值只存在1次,而Level4有2个不同的值.所以我总是得到这个Resultset:

现实

GroupName    Level1    Level2    Level3    Level4
GroupA       read      write     read      read
GroupA       NULL      NULL      NULL      write
Run Code Online (Sandbox Code Playgroud)

我正在使用此代码

SELECT 
 [GroupName],
 [Level1],
 [Level2],
 [Level3],
 [Level4]
FROM 
 (SELECT
 [GroupName],
 [SecLevel], 
 [Power],
 ROW_NUMBER() OVER(PARTITION BY [GroupName], …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server pivot-table

5
推荐指数
1
解决办法
66
查看次数

标签 统计

pivot-table ×1

sql-server ×1

t-sql ×1