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

Nc_Sr

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

这是我表的简单版本:

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' 

我想使用PIVOT函数获取以下结果集

期待

GroupName    Level1    Level2    Level3    Level4
GroupA       read      write     read      read
GroupA       read      write     read      write

我的问题是,级别1-级别3的值仅存在1次,而级别4具有2个不同的值。所以我总是得到这个结果集:

现实

GroupName    Level1    Level2    Level3    Level4
GroupA       read      write     read      read
GroupA       NULL      NULL      NULL      write

我正在使用此代码

SELECT 
 [GroupName],
 [Level1],
 [Level2],
 [Level3],
 [Level4]
FROM 
 (SELECT
 [GroupName],
 [SecLevel], 
 [Power],
 ROW_NUMBER() OVER(PARTITION BY [GroupName], [SecLevel] ORDER BY [Power]) AS    rn
FROM [SecurityGroup]) AS SourceTable
PIVOT
 (MAX([Power])
  FOR [SecLevel] 
  IN ([Level1], [Level2], [Level3], [Level4])
 ) AS PivotTable

任何想法如何解决这一问题?我无法在源表中为Level1-Level3添加更多值。

我已经尝试使用RANK()而不是ROW_NUMBER(),但是它没有用。

谢谢你的帮助。

布鲁斯·邓维迪
SELECT 
 [GroupName],
 MAX([Level1]) OVER (PARTITION BY [GroupName]) [Level1],
 MAX([Level2]) OVER (PARTITION BY [GroupName]) [Level2],
 MAX([Level3]) OVER (PARTITION BY [GroupName]) [Level3],
 [Level4]
FROM 
 (SELECT
 [GroupName],
 [SecLevel], 
 [Power],
 ROW_NUMBER() OVER(PARTITION BY [GroupName], [SecLevel] ORDER BY [Power]) AS    rn
FROM [SecurityGroup]) AS SourceTable
PIVOT
 (MAX([Power])
  FOR [SecLevel] 
  IN ([Level1], [Level2], [Level3], [Level4])
 ) AS PivotTable;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MSSQL如何处理null值以在数据透视表中对其进行计数

来自分类Dev

仍在SQL数据透视表中的列上获取NULL值

来自分类Dev

Oracle数据透视表中的空替换

来自分类Dev

如何在SSAS的数据透视表计数中包含NULL?

来自分类Dev

如何在数据透视表中获取连接值?

来自分类Dev

如何用行平均值替换熊猫数据透视表的0和nan值?

来自分类Dev

试图从数据透视表中取回值

来自分类Dev

数据透视表-使用将值显示为时替换#N / A

来自分类Dev

我如何从数据透视表中获取“值”字段(产品为“值”)?-拉威尔

来自分类Dev

如何从复选框中收集值,并将该值同步到数据透视表?

来自分类Dev

数据透视表基于列值返回null

来自分类Dev

没有Null值的动态数据透视表

来自分类Dev

在动态数据透视SQL查询中替换空值

来自分类Dev

如何使用数据透视表或分组表划分这些值

来自分类Dev

根据索引数据透视表中的值选择数据

来自分类Dev

Excel数据透视表:如何将列中的多个值转置为列标签

来自分类Dev

Excel数据透视表-如何在“行”部分中检索单元格的值

来自分类Dev

如何在数据透视表Laravel 5中为附加字段附加不同的值

来自分类Dev

如何在Pandas的数据透视表函数中聚合索引值?

来自分类Dev

如何根据用户输入从数据透视表中过滤出值

来自分类Dev

如何使用 Google Sheets API 在数据透视表中按值“总计”排序

来自分类Dev

如何在 Laravel 中使用附加或同步方法在数据透视表中插入多个值

来自分类Dev

如何在数据透视表中按混合值分组并按日期排序?

来自分类Dev

python中的数据透视表(列中的值总和)

来自分类Dev

如何使Pandas中的数据透视表的行为类似于Excel中的数据透视表?

来自分类Dev

如何使用行值作为列创建数据透视表?

来自分类Dev

如何计算值大于0的数据透视表的行

来自分类Dev

如何获得基于条件的数据透视表值

来自分类Dev

如何使用行值作为列创建数据透视表?

Related 相关文章

  1. 1

    MSSQL如何处理null值以在数据透视表中对其进行计数

  2. 2

    仍在SQL数据透视表中的列上获取NULL值

  3. 3

    Oracle数据透视表中的空替换

  4. 4

    如何在SSAS的数据透视表计数中包含NULL?

  5. 5

    如何在数据透视表中获取连接值?

  6. 6

    如何用行平均值替换熊猫数据透视表的0和nan值?

  7. 7

    试图从数据透视表中取回值

  8. 8

    数据透视表-使用将值显示为时替换#N / A

  9. 9

    我如何从数据透视表中获取“值”字段(产品为“值”)?-拉威尔

  10. 10

    如何从复选框中收集值,并将该值同步到数据透视表?

  11. 11

    数据透视表基于列值返回null

  12. 12

    没有Null值的动态数据透视表

  13. 13

    在动态数据透视SQL查询中替换空值

  14. 14

    如何使用数据透视表或分组表划分这些值

  15. 15

    根据索引数据透视表中的值选择数据

  16. 16

    Excel数据透视表:如何将列中的多个值转置为列标签

  17. 17

    Excel数据透视表-如何在“行”部分中检索单元格的值

  18. 18

    如何在数据透视表Laravel 5中为附加字段附加不同的值

  19. 19

    如何在Pandas的数据透视表函数中聚合索引值?

  20. 20

    如何根据用户输入从数据透视表中过滤出值

  21. 21

    如何使用 Google Sheets API 在数据透视表中按值“总计”排序

  22. 22

    如何在 Laravel 中使用附加或同步方法在数据透视表中插入多个值

  23. 23

    如何在数据透视表中按混合值分组并按日期排序?

  24. 24

    python中的数据透视表(列中的值总和)

  25. 25

    如何使Pandas中的数据透视表的行为类似于Excel中的数据透视表?

  26. 26

    如何使用行值作为列创建数据透视表?

  27. 27

    如何计算值大于0的数据透视表的行

  28. 28

    如何获得基于条件的数据透视表值

  29. 29

    如何使用行值作为列创建数据透视表?

热门标签

归档