加入Oracle SQL中的多个条件

时间:2014-11-03 18:36:58

标签: sql oracle oracle-sqldeveloper

我有两列数据表(User_id和ForeignUser_id)。所以这些列我在另一个表中也有一列类别(一个为所有)。我该怎么做才能获得像

这样的数据集

User_ID类别ForeignUser_ID类别

我使用了union和cte函数,但需要在结构中获取数据,因此它没有帮助。

第一个表UserModel:

User_ID ForeignUser_ID
1234       2568
1234       6589
3333       4426
3333       2635
4252       6235
4252       5986

第二个表用户:

 User_ID Category
    1234       A
    3333       B
    4252       A
    2568       B
    6589       B
    4426       A
    2635       C
    6235       C
    5986       B

期望的结果:

User_ID    Category  ForeignUser_ID    Category  
    1234       A          2568            B
    1234       A          6589            B
    3333       B          4426            A
    3333       B          2635            C
    4252       A          6235            C
    4252       A          5986            B

1 个答案:

答案 0 :(得分:2)

你需要做两次连接才能得到这个结果

Select um.User_ID, us1.Category, um.ForeignUser_ID, us2.Category    
From UserModel um inner join Users as us1 on (um.User_ID = us1.User_ID)
                  inner join Users as us2 on (um.ForeignUser_ID = us2.User_ID)