我有以下类型的表(损坏)结构
Rowid damageTypeACount damageTypeBCount damageTypeCCount
1 23 44 33
而且我还需要读取这些表行,结果是(title,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
上面的查询按预期工作,但我想知道是否有可能在一个select语句中将列转换成行
1条答案
按热度按时间vjrehmav1#
可以使用横向联接取消连接:
这会影响原作
id
到每个生成的行。您还可以使用row_number()
:您可以使用
where
条款(如需要):