如何在给定的SQL查询中获取rownum?

时间:2019-12-24 11:25:54

标签: sql oracle

我正在尝试从查询中获取行号。 我无法得到它。 您能帮我实现实际输出需要做哪些必要的更改?

查询:

SELECT rownum as category_id, cat.category, mdm.group_id as mdm_category_id, mdm.DESCRPTN, sysdate as im_insrt_dt FROM 
(SELECT distinct NVL(CTGRY,'Unspecified') CTGRY FROM vw_addition_questions
UNION
SELECT DISTINCT NVL(CTGRY,'Unspecified') CTGRY FROM vw_case
UNION
SELECT DISTINCT NVL(CAST(QUICKCDE_CATGRY AS VARCHAR2(4000)),'Unspecified') CTGRY FROM vw_case
UNION
SELECT DISTINCT NVL(CATG_MIR,'Unspecified') CTGRY FROM vw_case
UNION
SELECT DISTINCT  NVL(CATG,'Unspecified') CTGRY FROM vw_mir_slctd_respn
UNION
SELECT DISTINCT CTGRY FROM vw_call_dscssn
UNION
SELECT DISTINCT  vw_prod_strtgy.NM FROM vw_mdcl_dsscn INNER JOIN vw_prod_strtgy ON vw_mdcl_dsscn.PROD_STRTGY_VOD = vw_prod_strtgy.ID
UNION
SELECT DISTINCT GROUP_NAME AS CATEGORY FROM vw_mdm_group where group_type = 'CATEGORY'
) cat
LEFT JOIN (SELECT GROUP_ID, GROUP_NAME AS CATEGORY, GROUP_DESCRIPTION AS DESCRPTN FROM vw_mdm_group where group_type = 'CATEGORY') mdm
ON cat.category = mdm.category

1 个答案:

答案 0 :(得分:0)

您遇到的问题不是ROWNUM不起作用-您尝试访问字段cat.CATEGORY,但是您的cat子查询未返回字段名称{ {1}}。而是返回字段名称CATEGORY。因此,查询将返回类似于CTGRY的错误消息。我建议您将查询重写为:

ORA-00904: "CAT"."CATEGORY": invalid identifier

db<>fiddle here