【发布时间】:2013-09-27 01:31:56
【问题描述】:
我有一个包含多个列的 Oracle 表,其中一些列填充了一个变量,有大量可能的变量,下面的示例并不详尽。
ID Col1 Col2 Col3
--------------------
1 A B
2 B A D
3 B C
4 C B
5 B B
6 E D
7 B A C
我需要创建一个查询每行中的变量:
ID Col1 Col2 Col3
--------------------
1 A B
2 A B D
3 B C
4 B C
5 B B
6 D E
7 A B C
我正在寻找一个优雅的解决方案,因为现实世界的问题有 20 列,最多包含 40 个不同的变量(每列最多四个字符)和数百万条记录。
【问题讨论】:
-
你试过什么?你有什么错误?给我们看一些代码。也在 sql 中标记这个
-
我们如何知道要重新洗牌的列?它必须是查询还是存储过程?
-
我还没有测试过这个解决方案,但是这个问题似乎在尝试做同样的事情:stackoverflow.com/questions/12100566/…
-
没有“变量”的字段中有什么:
space或NULL? -
哪些 cols 排序是个好问题 - 我应该说我认为必须指定它们,例如 col1, col2, col3 .. coln