我有一個「用戶」表SQL搜索用戶不在該用戶的黑名單
user_id|
1 |
2 |
3 |
4 |
5 |
和「黑名單」表
blocker_id|blocked_id
1 | 3
2 | 3
現在我要搜索用戶在「用戶」表,該表不被阻止該用戶AND該用戶未被阻止用戶!
(不會彼此阻塞) 這樣的:
SELECT * FROM users
我有一個「用戶」表SQL搜索用戶不在該用戶的黑名單
user_id|
1 |
2 |
3 |
4 |
5 |
和「黑名單」表
blocker_id|blocked_id
1 | 3
2 | 3
現在我要搜索用戶在「用戶」表,該表不被阻止該用戶AND該用戶未被阻止用戶!
(不會彼此阻塞) 這樣的:
SELECT * FROM users
試試這個,有NOT IN()
:
SELECT *
FROM users
WHERE user_id NOT IN (SELECT blocked_id FROM blocklist)
我想不是由該用戶 –
我想應該是這樣的只是阻止: 'SELECT * FROM 用戶 其中USER_ID NOT IN(SELECT blocked_id FROM WHERE塊列表= blocker_id AND users.user_id blocked_id = X )' –
@MiladJVR還有點不清楚 - 將您的預期結果添加到您的問題中,並且應該將其清除。 –
下面是答案:
SELECT * FROM users WHERE user_id NOT IN (SELECT blocked_id FROM blocklist WHERE blocked_id = users.user_id AND blocker_id = X) AND user_id NOT IN (SELECT blocker_id FROM blocklist WHERE blocker_id = users.user_id AND blocked_id = X)
X是user_id,我想不阻擋或被sql結果阻止
你的「喜歡這個」有點含糊不清;)另外,爲你正在使用的數據庫添加一個標籤。 –
對不起,我的一些文字沒有被複制!我編輯它 –