[英]SQL select records
我有兩張桌子
--table a--
first second
------ -------
user-1 user-2
user-2 user-1
user-2 user-3
--table b--
ignoreby ignored
-------- -------
user-1 user-2
user-1 user-4
user-3 user-4
我想從表a中選擇不忽略它們的記錄(包括單向記錄)
結果將是:user-2 user-3
記錄中的user-2 user-1不應包含在結果中,因為user-1會忽略user-2且這是單向的。
謝謝
您是說“雙向”而不是“單向”嗎? 如果是這樣的話:
select a.*
from tablea a
where not exists (select 1
from tableb b
where (b.ignoreby = a.first and b.ignored = a.second) or
(b.ignoreby = a.second and b.ignored = a.first)
);
如果確實表示“單向”,那么您將只使用第一個條件。
也許您可以嘗試其他更簡單的方法。 就像在第一個表(表a)中添加一個帶有布爾值的is_ignored列一樣。 然后,您可以通過一次選擇直接查看該用戶是否忽略了另一個用戶。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.