【发布时间】:2014-09-11 16:15:16
【问题描述】:
我的数据是从我的 sql 中返回的
node_no code value1 order
100 AB 001 1
100 AB 007 2
101 AB 010 3
我必须使用 sql 进一步处理这些数据,以获得类似的输出
node_no code value1 value2
100 AB 001 007
101 AB 010 null
要求将两行(或具有相同 node_no 的行)中的列值显示为单行作为两个不同的列。 必须维持秩序。
注意:这可能看起来像重复 SQL Query to concatenate column values from multiple rows in Oracle SQL Query to concatenate column values from multiple rows in Oracle
但我们将值显示为单个聚合列。
【问题讨论】:
-
您需要更清楚地定义所需的业务逻辑。例如,您如何确定
001进入哪一列?是因为它小于007还是因为它的order值最低?如果一个节点有两个以上的值,会发生什么?等等等等等等…… -
它基于 `order' 字段,按顺序排列。节点的值不会超过两个,后续问题只有 1 个或最多 2 个 Thx。