我有一个名为“table1”的表,其中有以下几行。

ID  category1  category2
-------------------------
1     value1    value2
2     value3    value4

然后我想从“table1”上方创建一个 View 。在我看来只有三列。我引入了一个名为“category”的新列,它可以存储类别的类型。然后“category1”和“category2”列名称都属于该“category”列并引入了另一个名为value的新列来存储每个类别的值。 ID 列允许重复。

我生成的 View 应该是这样的,
ID    category     value
--------------------------
1     category1    value1
1     category2    value2
2     category1    value3
2     category2    value4

我正在使用甲骨文。有没有办法做这样的事情?可能还是不可能?

最佳答案

您也可以使用逆透视功能:

select *
  from table1 unpivot(
        value for category in(category1, category2)
  );

关于sql - 通过复制行和更改表结构从现有表创建新 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49649968/

10-11 22:51