如何使用Oracle SQL在表中查找有效的组合



我有两个表。

一个是具有所有有效组合的Admin表,另一个是包含事务的Transaction表。

我正在尝试编写一个查询,该查询将给出事务表中无效组合的结果。

查询应返回无效的事务。

正如您在下面的示例中看到的,ABCD-TUV和IJKL-EFG不是有效的组合。

管理员表

Column A    Column B
ABCD        XYZ
ABCD        EFG
EFGH        XYZ
IJKL        TUV
IJKL        XYZ

或者,您可以使用NOT EXISTS,例如

SELECT * FROM TRANSACTIONS T WHERE NOT EXISTS (SELECT 1 
FROM ADMIN
WHERE COMBINATION = T.COMBINATION)

使用EXISTS还是NOT IN在很大程度上取决于您查询的数据。你可以在这里找到更多关于这个主题的信息https://asktom.oracle.com/pls/asktom/f?p=100:11:::::P11_QUESTION_ID:953229842074

您的问题中没有示例,但您应该使用NOT IN

例如:

SELECT * FROM TRANSACTIONS WHERE combination NOT IN (SELECT combination FROM ADMIN)

最新更新