Oracle - 使用多个条件

时间:2018-05-31 16:12:12

标签: oracle

我有一个要求。有人可以帮忙吗?

我有这张桌子:

__________________________________________________________________________________________
UNIQUE_ID   POLICY_SOURCE   POLICY_NUMBER   REFERRED_POLICY_SOURCE  REFERRED_POLICY_NUMBER
1234        custom          AJ123           main                    BH125
1234        main            BH125           custom                  AJ123
2345        dwell           BH125           custom                  HQ658
__________________________________________________________________________________________

我现在必须获取POLICY_NUMBER的UNIQUE_ID,其中POLICY_NUMBER未单独链接为REFERRED_POLICY_NUMBER。

  • 在上表中,第一个字段,UNIQUE_ID 1234的策略AJ123具有BH125 REFERRED_POLICY_NUMBER。
  • BH125有两个条目,UNIQUE_ID 1234和2345.但是带有UNIQUE_ID的BH125与AJ123链接。所以不应该显示。
  • 但是带有UNIQUE_ID的BH125具有不同的策略HQ658 REFERRED_POLICY_NUMBER。应该提取这条记录。

我需要以这种格式获得结果:

___________________________________________________________
UNIQUE_ID1  POLICY_NUMBER1  UNIQUE_ID2  POLICY_NUMBER2
1234        AJ123           2345        BH125
___________________________________________________________

简而言之,两个是更多政策关联但具有不同的UNIQUE_ID

到目前为止我一直在尝试:

SELECT UNIQUE_ID, POLICY_NUMBER, REFERRED_POLICY_NUMBER FROM TABLE WHERE REFERRED_POLICY_NUMBER IN (SELECT POLICY_NUMBER FROM TABLE);

我已经获得了POLICY_NUMBER中REFERRED_POLICY_NUMBER的记录。愚蠢地了解如何获得所有这些的UNIQUE_ID。

任何帮助都会有所帮助。

1 个答案:

答案 0 :(得分:2)

您可以尝试这样的事情:

SELECT table1.UNIQUE_ID AS UNIQUE_ID1, 
       table1.POLICY_NUMBER AS POLICY_NUMBER1,
       table2.UNIQUE_ID AS UNIQUE_ID2, 
       table2.POLICY_NUMBER AS POLICY_NUMBER2
FROM mainTable table1
     JOIN mainTable table2
     ON table1.REFERRED_POLICY_NUMBER= table2.POLICY_NUMBER
        AND table2.REFERRED_POLICY_NUMBER <> table1.POLICY_NUMBER