有人可以幫我嗎,我需要讓不是我朋友的用戶我有下表
用戶
| ID | user |
|---|---|
| 1 | 名稱1 |
| 2 | 名稱2 |
和桌友:
| ID | id_user |
id_friends |
|---|---|---|
| 1 | 2 | 3 |
| 2 | 5 | 4 |
我嘗試了類似的方法,但在某些查詢中它回傳了我已經添加的那些
Select u.*
from users u left join friends f
on f.id_user = 2
and f.id_friends = u.id
where u.id <> 2
and f.id_friend is null
uj5u.com熱心網友回復:
一種方法是使用 NOT EXISTS 回傳所有尚未“加為好友”的用戶。這包括尚未在friends表中的用戶。
SELECT u.*
FROM users u
WHERE u.id <> 2
AND NOT EXISTS (
SELECT NULL
FROM friends f
WHERE ( f.id_friend = u.id AND f.id_user = 2 )
OR ( f.id_friend = 2 AND f.id_user = u.id )
)
結果:
編號 | 用戶 -: | :---- 1 | 名稱1
db<>在這里擺弄
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/450592.html
標籤:mysql
下一篇:3表成1
