【发布时间】:2017-06-18 13:58:23
【问题描述】:
我是 Oracle 新手,正在寻找一种将 Select 中的一列转换为行的方法。
我的第一种方法是使用 Listagg,它完全符合我的要求,但对于我的情况来说,字符数限制是不够的。 作为替代方案,我想做以下事情。
SELECT
t.col1
, t.col2
, t.col3
, t.col4
, t.col5
FROM
my table t
而不是t.col1 t.col2 t.col3 t.col4 t.col5 的标准输出,我希望t.col2 出现在行中(即彼此下方)而不是列中(彼此相邻)。 Col2 始终包含一个值,并且它们中的每一个都应该出现在单独的行中。
在寻找解决方案时,我遇到了 Unpivot 和 Decode,但不确定是否以及如何在此处应用。
有人能告诉我这是如何实现的吗?
非常感谢您的任何帮助,
迈克
【问题讨论】:
-
你能提供样本数据和想要的结果吗?
标签: sql oracle select decode unpivot