我有2個表。如何使用Oracle SQL在表中找到有效組合
一個是具有所有有效組合的管理表,另一個是具有交易的交易表。
我想寫一個查詢,它會給我從交易表的無效組合結果。
查詢應該返回無效的事務。
正如您在下面的示例中看到的,ABCD - TUV和IJKL - EFG不是有效的組合。
聯繫表
Column A Column B
ABCD XYZ
ABCD EFG
EFGH XYZ
IJKL TUV
IJKL XYZ
我有2個表。如何使用Oracle SQL在表中找到有效組合
一個是具有所有有效組合的管理表,另一個是具有交易的交易表。
我想寫一個查詢,它會給我從交易表的無效組合結果。
查詢應該返回無效的事務。
正如您在下面的示例中看到的,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)
請改善示例數據 –
a_horse_with_no_name刪除了示例數據。任何我如何得到解決方案如下 – raksrockz