如何在SQL中使用列作为键来透视列

马修

我正在尝试透视表并聚合一些子类别。但是,进行汇总时,子类别未正确连接。

示例表

| category | categorySub |
|----------|-------------|
| cat-1    | sub-1       |
| cat-1    | sub-2       |
| cat-1    | sub-3       |
| cat-2    | sub-4       |
| cat-2    | sub-5       |

实际产量

| category | categorySub                               |
|----------|-------------------------------------------|
| cat-1    | ["sub-1","sub-2","sub-3","sub-4","sub-5"] |
| cat-2    | ["sub-1","sub-2","sub-3","sub-4","sub-5"] |

期望的输出

| category | categorySub               |
|----------|---------------------------|
| cat-1    | ["sub-1","sub-2","sub-3"] |
| cat-2    | ["sub-4","sub-5"]         |

询问

select 
[categoryMain] = [category],
[categorySub] = '["' + (select string_agg(categorySub, '","') from someTable where [categoryMain] = [category]) + '"]'
from someTable
group by [category]

如何引用[类别]或其别名以减少字符串聚合?

提雅古

您可以STRING_AGG自己使用

DECLARE @T Table(
cat Varchar(max),
SUB varchar(max))

Insert into @T Values ('cat-1','sub-1')
Insert into @T Values ('cat-1','sub-2')
Insert into @T Values ('cat-1','sub-3')
Insert into @T Values ('cat-2','sub-4')
Insert into @T Values ('cat-2','sub-5')

SELECT CAT AS CATEGORYMAIN, '["' + STRING_AGG(SUB, '","')+ '"]' AS SUB 
FROM @T GROUP BY [CAT]

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在 matplotlib 中使用 5 列作为日期?

来自分类Dev

如何在Oracle SQL中使用列值作为间隔来增加日期?

来自分类Dev

如何在SQL中使用数据透视表(而不作为DataFrame分组运算符)?

来自分类Dev

Spring MVC,HashMap作为模型-如何在jsp中使用javascript变量作为键来获取价值

来自分类Dev

使用列作为数组键

来自分类Dev

如何在 SQL 数据透视表中使用字符串类型列

来自分类Dev

如何在WHERE子句中使用json列作为条件

来自分类Dev

如何在结果集中使用列作为SELECT中FROM子句的参数

来自分类Dev

如何在tidyverse集合中使用两行作为键和值来从宽转换为长?

来自分类Dev

如何在Dataweave中使用变量作为键

来自分类Dev

如何在Python中使用groupby键作为xticklabel

来自分类Dev

如何在JSON中使用对象作为键?

来自分类Dev

如何在 Firebase 中使用数据作为键?

来自分类Dev

如何在postgresql中使用jsonb的键作为行值?

来自分类Dev

如何使用添加的列作为查询正确更新数据透视表?

来自分类Dev

熊猫-使用列作为字典的键

来自分类Dev

在 SQL 中使用多列进行透视

来自分类Dev

如何使用创建的列作为JOIN参数SQL查询

来自分类Dev

如何在不使用另一列作为标识的情况下从Tablea更新Tableb中的列?

来自分类Dev

使用多列作为索引透视数据框架

来自分类Dev

如何在SQL表中使用条件选择列值作为列名

来自分类Dev

如何在SQL表中使用条件选择列值作为列名

来自分类Dev

如何在查询结果中使用mongoDB集合的键作为具有某些值的键?

来自分类Dev

使用python数组的列作为布尔值来更改另一列的值

来自分类Dev

如何在SQL中使用外键更新表

来自分类Dev

使用两列作为键对两个表进行SQL查询

来自分类Dev

如何在Cassandra中的群集键中使用静态列

来自分类Dev

如何在使用SQL Server的数据透视表中使用“排序依据”

来自分类Dev

如何使用多列作为键合并两个数据框?

Related 相关文章

  1. 1

    如何在 matplotlib 中使用 5 列作为日期?

  2. 2

    如何在Oracle SQL中使用列值作为间隔来增加日期?

  3. 3

    如何在SQL中使用数据透视表(而不作为DataFrame分组运算符)?

  4. 4

    Spring MVC,HashMap作为模型-如何在jsp中使用javascript变量作为键来获取价值

  5. 5

    使用列作为数组键

  6. 6

    如何在 SQL 数据透视表中使用字符串类型列

  7. 7

    如何在WHERE子句中使用json列作为条件

  8. 8

    如何在结果集中使用列作为SELECT中FROM子句的参数

  9. 9

    如何在tidyverse集合中使用两行作为键和值来从宽转换为长?

  10. 10

    如何在Dataweave中使用变量作为键

  11. 11

    如何在Python中使用groupby键作为xticklabel

  12. 12

    如何在JSON中使用对象作为键?

  13. 13

    如何在 Firebase 中使用数据作为键?

  14. 14

    如何在postgresql中使用jsonb的键作为行值?

  15. 15

    如何使用添加的列作为查询正确更新数据透视表?

  16. 16

    熊猫-使用列作为字典的键

  17. 17

    在 SQL 中使用多列进行透视

  18. 18

    如何使用创建的列作为JOIN参数SQL查询

  19. 19

    如何在不使用另一列作为标识的情况下从Tablea更新Tableb中的列?

  20. 20

    使用多列作为索引透视数据框架

  21. 21

    如何在SQL表中使用条件选择列值作为列名

  22. 22

    如何在SQL表中使用条件选择列值作为列名

  23. 23

    如何在查询结果中使用mongoDB集合的键作为具有某些值的键?

  24. 24

    使用python数组的列作为布尔值来更改另一列的值

  25. 25

    如何在SQL中使用外键更新表

  26. 26

    使用两列作为键对两个表进行SQL查询

  27. 27

    如何在Cassandra中的群集键中使用静态列

  28. 28

    如何在使用SQL Server的数据透视表中使用“排序依据”

  29. 29

    如何使用多列作为键合并两个数据框?

热门标签

归档