【发布时间】:2015-08-09 15:38:37
【问题描述】:
我遇到了一个困难的要求(我是 sql 新手,要求也可能很简单)我需要将表中特定键可用的多个记录合并为单个记录(我想显示它单行)。
例如假设我有以下数据的表 ABC
表 ABC
CODE TRANS_CODE AMOUNT
01 01 123
01 02 456
01 03 678
01 04 889
这里我想将 CODE=01 的所有记录显示为单行,如下所述
CODE AMOUNT1 AMOUNT2 AMOUNT3 AMOUNT4
01 123 456 678 889
这意味着对于 CODE=01 和 TRANS_CODE=01 则 AMOUNT 的值需要显示在 AMOUNT1 列中,类似地对于 CODE=01 和 TRANS_CODE=02 则 AMOUNT 的值需要显示在 AMOUNT2 列中并且以此类推。
注意:只有 5 个 TRANS_CODE(01,02,03,04,05),因此每个 CODE 将有 5 条记录,我需要像上面提到的那样合并成一条记录。
如果我知道如何为此构建 sql 查询,那就太好了。我需要在 Oracle ADF 中构建它。
提前致谢。
【问题讨论】:
-
您尝试过 PIVOT 子句吗?
标签: sql oracle pivot oracle-adf