我在 oracle 数据库中有一个这样的表:
id | name | value
-----------------------
1 | dog name | ham
1 | cat name | miau
1 | childs | 1
2 | dog name | wham
2 | cat name | meow
2 | childs | 3
我想做一个这样的 View :
id | dog name | cat name | childs
------------------------------------
1 | ham | miau | 1
2 | wham | meow | 3
你能帮我用 sql 来做吗?
最佳答案
使用此查询:我无法连接到 SQLfiddler
。所以,一定要检查代码并告诉我它返回了什么。
select *
from
(
SELECT id, name, value FROM table A)
pivot
(
max(value) for name in ('dog name', 'cat name', 'childs')
)
order by id
您可以从这里了解更多关于 PIVOT for oracle 的信息:link
关于sql - 需要一个 SQL 来创建一个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27170225/