创建使用内部联接的自我联接,我的要求是从it_med_t中删除由自我联接返回的相同行

时间:2019-03-06 12:08:13

标签: oracle12c

这是我的查询:     选择e1.I_NO FROM         it_med_t e1     INNER JOIN it_med_t e2开启         e1.MED_REL_NO <> e2.MED_REL_NO       和(((e1.DEL_DATE为空且e2.DEL_DATE不为空)或(e2.DEL_DATE为空且e1.DEL_DATE不为空))         AND e1.MED_NO = e2.MED_NO         AND e1.I_NO = e2.I_NO         其中e1.DEL_DATE不为null);

1 个答案:

答案 0 :(得分:0)

我使用ROWID,它解决了我的问题。

从it_med_t中删除 行在何处(选择e1.ROWID                  来自it_med_t e1                         内部连接it_med_t e2                                 开启e1.med_rel_no <> e2.med_rel_no                                    AND((e1.del_date为NULL                                            AND e2.del_date不为NULL)                                           或(e2.del_date为NULL                                                AND e1.del_date不为NULL))                                    AND e1.med_no = e2.med_no                                    AND e1.i_no = e2.i_no                  e1.del_date不为空);