首页 > 数据库技术 > 详细

Oracle SQL Tips

时间:2014-07-23 14:56:06      阅读:391      评论:0      收藏:0      [点我收藏+]

左连接的同时只输出关联表的一条记录

WITH X AS

(SELECT 1 ID FROM DUAL UNION SELECT 2 FROM DUAL UNION SELECT 3 FROM DUAL),

Y AS

(SELECT 1 ID, 1 NR, ‘B‘ CODE

FROM DUAL

UNION

SELECT 1, 2, ‘A‘

FROM DUAL

UNION

SELECT 2, 2, ‘A‘

FROM DUAL) -- end of test data

SELECT *

FROM (SELECT X.ID,

Y.NR,

Y.CODE,

ROW_NUMBER() OVER(PARTITION BY X.ID ORDER BY Y.NR) AS RN

FROM X

LEFT OUTER JOIN Y

ON Y.ID = X.ID)

WHERE RN = 1

果如下:

ID

NR

CODE

RN

1

1

B

1

2

2

A

1

3

??

1

Oracle SQL Tips,布布扣,bubuko.com

Oracle SQL Tips

原文:http://www.cnblogs.com/teamleader/p/3862682.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!