需要帮助查找一个表中的值但不存在于另一表中,反之亦然
我正在使用甲骨文。
我有2个表,每个表都有一个userID和entitlementID。我想选择表 1 中存在但表 2 中不存在的权利,反之亦然。我需要输出如下:
USER_ID| ENTITLEMENT_1 | ENTITLEMENT_2
33 | 44 | <NULL>
54 | <NULL>| 55
33 | <NULL>| 32
I'm using Oracle.
I have 2 tables, each table has a userID and entitlementID. I want to select the entitlements that exist in table 1 but not in table 2 and vice versa. I need the output to look like:
USER_ID| ENTITLEMENT_1 | ENTITLEMENT_2
33 | 44 | <NULL>
54 | <NULL>| 55
33 | <NULL>| 32
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您仅查找一个表中存在的权利,而不是另一个表中存在的权利,那么这不仅仅是一个简单的外部联接。
第一个选择查找 table2 中不存在的 userid 和 entitlement_1 对,第二个选择执行相反的操作。您没有提供有关所涉及表的大量信息,例如 userid 或 (userid, entitlement) 是否是主键或其他内容,因此这可能可以进行优化。
This is not just a simple outer join if you are looking only for those entitlements that exist in one table and not the other.
The first select finds the userid and entitlement_1 pairs that don't exist in table2, and the second select does the opposite. You didn't give a lot of information about the tables involved, like if userid or (userid, entitlement) is a primary key or anything, so this might be able to be optimized.
您需要执行完整的外部联接才能完成此任务。
以下是有关外连接的更多信息:
http://en.wikipedia.org/wiki /Join_(SQL)#Outer_joins
You need to do a full outer join to accomplish this task.
Here is more info on outer joins:
http://en.wikipedia.org/wiki/Join_(SQL)#Outer_joins
这应该适合你:
This should work for you: