首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将ROWNUM作为T-SQL中的伪列等效项?

将ROWNUM作为T-SQL中的伪列等效项?
EN

Stack Overflow用户
提问于 2018-06-08 04:57:00
回答 1查看 4.2K关注 0票数 5

当使用ROWNUM作为伪列时,如何使用T-SQL编写以下查询?下面是完整的查询。我意识到它是用PL/SQL编写的,我需要更改添加对象。

代码语言:javascript
复制
BASE AS (
SELECT NULL AS ES_CMPNY_STATUS_KEY
  ,CSG.CMPNY_STATUS_GROUP
  ,CSG.CMPNY_STATUS_GROUP_ID
  ,CSG.CMPNY_STATUS_REASON
  ,CSG.CMPNY_STATUS_REASON_ID
  ,CSF.CMPNY_CURRENT_STATUS_FLAG
  ,TRUNC(SYSDATE) AS LOAD_DATE
  FROM CMPNY_STATUS_GROUP CSG
  CROSS JOIN CMPNY_CURRENT_STATUS_FLAG CSF
  ORDER BY CSG.CMPNY_STATUS_GROUP, CSG.CMPNY_STATUS_REASON

   )SELECT ROWNUM AS ES_CMPNY_STATUS_KEY
   ,CMPNY_STATUS_GROUP
   ,CMPNY_STATUS_GROUP_ID
   ,CMPNY_STATUS_REASON
   ,CMPNY_STATUS_REASON_ID
   ,CMPNY_CURRENT_STATUS_FLAG
   ,LOAD_DATE
 FROM BASE B
UNION
SELECT 0 AS ES_CMPNY_STATUS_KEY
  ,NULL AS CMPNY_STATUS_GROUP
  ,0 AS CMPNY_STATUS_GROUP_ID
  ,NULL AS CMPNY_STATUS_REASON
  ,0 AS CMPNY_STATUS_REASON_ID
  ,0 AS CMPNY_CURRENT_STATUS_FLAG
  ,TRUNC(SYSDATE) AS LOAD_DATE
  FROM DUAL
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-08 04:58:34

使用row_number()

代码语言:javascript
复制
select row_number() over (order by (select null)) as ES_CMPNY_STATUS_KEY

请注意,需要order by。在实践中,出现(select null)是为了避免任何额外的排序。不过,通常需要包含一个列,用于指定所需数据的排序顺序。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50750042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档