1

我需要的是一个联合查询,其中运行号作为所选列之一。我确实尝试将 ROWNUM 作为查询的一部分包含在内,但它在每个查询中都会重复。正在重置 ROWNUM。

实现这一目标的最佳方法是什么?

编辑:甲骨文 9i。

4

2 回答 2

6

尝试这样的事情:

SELECT COL1,
       COL2,
       COL4,
       ROW_NUMBER() OVER (ORDER BY SORT_COLUMN ) "ROW_NUMBER"
FROM   (
     SELECT COL1,
            COL2,
            COL4,
            SORT_COLUMN
     FROM TABLE_A
     UNION ALL
     SELECT COL1,
            COL2,
            COL4,
            SORT_COLUMN
     FROM TABLE_B
  )
于 2013-04-15T06:48:16.690 回答
2

尝试将您的查询放在子查询中:

select rownum seq, t.*
from (<your_query>) t

这是一个 sqlfiddle 演示

于 2013-04-15T06:48:24.217 回答