如何增加一个ID列

jx_401 2008-07-25 05:05:41
SELECT
*
FROM
(SELECT
H.NAME,
H.SECCHIKBNCD,
H.GAKUBUCD,
H.GAKKACD
FROM
(SELECT
SECCHIKBNNM NAME,
SECCHIKBNCD ,
null GAKUBUCD,
null GAKKACD
FROM
CO_SECCHIKBN_MST
UNION ALL
SELECT
' '||CO_SHOZOKU_MST.NAME NAME,
CO_SHOZOKU_MST.SECCHIKBNCD SECCHIKBNCD,
CO_SHOZOKU_MST.SHOZOKUCD GAKUBUCD,
null GAKKACD
FROM
CO_SHOZOKU_MST
WHERE
CO_SHOZOKU_MST.KAISO_LEVEL = 1 AND
SUBSTR(CO_SHOZOKU_MST.DISPLAY_FLAGS,1,1) = '1'
) H
UNION ALL
SELECT
' '||A.NAME NAME,
A.SECCHIKBNCD SECCHIKBNCD,
B.SHOZOKUCD GAKUBUCD,
SUBSTR(A.SHOZOKUCD,LENGTH(B.SHOZOKUCD) + 1) GAKKACD
FROM
CO_SHOZOKU_MST A,
CO_SHOZOKU_MST B
WHERE
A.KAISO_LEVEL = 2 AND
B.KAISO_LEVEL = 1 AND
A.PARENT_ID = B.ID(+) AND
SUBSTR(A.DISPLAY_FLAGS,1,1) = '1'
)
ORDER BY
SECCHIKBNCD,
GAKUBUCD NULLS FIRST,
GAKKACD NULLS FIRST
查询结果为:

1 学部1部 1
2 神学部所属 1 01 00
3 神学科 1 01 01
4 コース 1 01 02
5 文学部 1 02
6 文学部所属 1 02 00
7 哲学科 1 02 01
8 教育学科 1 02 02
9 心理学科 1 02 03
10 史学科 1 02 04


我想在这个组合查询的结果里面再加入一列'ID',数据就是查询结果前面的编号。
谢谢!
...全文
107 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Well 2008-07-26
  • 打赏
  • 举报
回复
用rownum进行处理
oracledbalgtu 2008-07-25
  • 打赏
  • 举报
回复

SELECT ROWNUM ID, X.*
FROM (SELECT *
FROM (SELECT H.NAME, H.SECCHIKBNCD, H.GAKUBUCD, H.GAKKACD
FROM (SELECT SECCHIKBNNM NAME,
SECCHIKBNCD,
NULL GAKUBUCD,
NULL GAKKACD
FROM CO_SECCHIKBN_MST
UNION ALL
SELECT ' ' ¦ ¦CO_SHOZOKU_MST.NAME NAME,
CO_SHOZOKU_MST.SECCHIKBNCD SECCHIKBNCD,
CO_SHOZOKU_MST.SHOZOKUCD GAKUBUCD,
NULL GAKKACD
FROM CO_SHOZOKU_MST
WHERE CO_SHOZOKU_MST.KAISO_LEVEL = 1
AND SUBSTR(CO_SHOZOKU_MST.DISPLAY_FLAGS, 1, 1) = '1') H
UNION ALL
SELECT ' ' ¦ ¦A.NAME NAME,
A.SECCHIKBNCD SECCHIKBNCD,
B.SHOZOKUCD GAKUBUCD,
SUBSTR(A.SHOZOKUCD, LENGTH(B.SHOZOKUCD) + 1) GAKKACD
FROM CO_SHOZOKU_MST A, CO_SHOZOKU_MST B
WHERE A.KAISO_LEVEL = 2
AND B.KAISO_LEVEL = 1
AND A.PARENT_ID = B.ID(+)
AND SUBSTR(A.DISPLAY_FLAGS, 1, 1) = '1')
ORDER BY SECCHIKBNCD, GAKUBUCD NULLS FIRST, GAKKACD NULLS FIRST) X;


[Quote=引用楼主 jx_401 的帖子:]
SELECT
*
FROM
(SELECT
H.NAME,
H.SECCHIKBNCD,
H.GAKUBUCD,
H.GAKKACD
FROM
(SELECT
SECCHIKBNNM NAME,
SECCHIKBNCD ,
null GAKUBUCD,
null GAKKACD
FROM
CO_SECCHIKBN_MST
UNION ALL
SELECT
' ' ¦ ¦CO_SHOZOKU_MST.NAME NAME,
CO_SHOZOKU_MST.SECCHIKBNCD SECCHIKBNCD,
CO_S…
[/Quote]
新鲜鱼排 2008-07-25
  • 打赏
  • 举报
回复
---rownum

SELECT
rownum, *
FROM
(SELECT
H.NAME,
H.SECCHIKBNCD,
H.GAKUBUCD,
H.GAKKACD
FROM
(SELECT
SECCHIKBNNM NAME,
SECCHIKBNCD ,
null GAKUBUCD,
null GAKKACD
FROM
CO_SECCHIKBN_MST
UNION ALL
SELECT
' ' ¦ ¦CO_SHOZOKU_MST.NAME NAME,
CO_SHOZOKU_MST.SECCHIKBNCD SECCHIKBNCD,
CO_SHOZOKU_MST.SHOZOKUCD GAKUBUCD,
null GAKKACD
FROM
CO_SHOZOKU_MST
WHERE
CO_SHOZOKU_MST.KAISO_LEVEL = 1 AND
SUBSTR(CO_SHOZOKU_MST.DISPLAY_FLAGS,1,1) = '1'
) H
UNION ALL
SELECT
' ' ¦ ¦A.NAME NAME,
A.SECCHIKBNCD SECCHIKBNCD,
B.SHOZOKUCD GAKUBUCD,
SUBSTR(A.SHOZOKUCD,LENGTH(B.SHOZOKUCD) + 1) GAKKACD
FROM
CO_SHOZOKU_MST A,
CO_SHOZOKU_MST B
WHERE
A.KAISO_LEVEL = 2 AND
B.KAISO_LEVEL = 1 AND
A.PARENT_ID = B.ID(+) AND
SUBSTR(A.DISPLAY_FLAGS,1,1) = '1'
)
ORDER BY
SECCHIKBNCD,
GAKUBUCD NULLS FIRST,
GAKKACD NULLS FIRST

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧