【发布时间】:2020-07-10 13:40:36
【问题描述】:
我有一个如下类型的表(Damage)结构
Rowid damageTypeACount damageTypeBCount damageTypeCCount
1 23 44 33
而且我还需要读取这些表行,结果为(标题、id 是手动设置的),有点将列转换为行,但具有附加属性
id damagecountsum label
1 23 Damage Type A
2 44 Damage Type B
3 33 Damage Type C
我做了以下查询,它有效,但想知道是否有更好的方法
SELECT 1 as id,
damageTypeACount as damagecount,
"Damage Type A Count" as label
FROM Damage where rowId=1
UNION ALL
SELECT 2 as id,
damageTypeBCount as damagecount,
"Damage Type B Count" as label
FROM Damage where rowId=1
UNION ALL
SELECT 3 as id,
damageTypeCCount as damagecount,
"Damage Type C Count" as label
FROM Damage where rowId=1
上述查询按预期工作,但我想知道是否可以在单个选择语句中将列转换为行
【问题讨论】:
标签: sql postgresql union unpivot