sql - 需要一个 SQL 来创建一个 View

标签 sql oracle sql-view

我在 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/

相关文章:

java - iBatis 3、JAVA、ORACLE 及函数

c++ - EXEC SQL LOB WRITE APPEND 与轮询(先写、下写、最后写)

mysql - 如何在 MySQL 中创建 View 以将第二个表中的行组合为第一个中的 CSV 列

sql - 如何编写 Oracle 查询以查找可能重叠的起始日期的总长度

java - JPA 标准 JOIN : what does {oj . ..} 在 SQL 中意味着什么?

sql - 从一个表中选择值,其中排除另一个表中的值

mysql - SQL - 查找出现次数最多的对象

oracle - 有没有简单的方法来备份Oracle SQL Developer用户片段?

sql-server - 创建 View - 声明变量

sql - 微软 Access : WHERE-EXISTS-clause not working on views?