[英]Mysql left join: show rows based on another attribute from the joined table
我有以下表格:
Pools Members User
----------------------------------------------------------------------------------
id name id pool_id user_id id name
----------------------------------------------------------------------------------
1 abc 1 1 101 101 test1
2 xyz 2 1 102 102 test2
3 2 105 105 test5
4 2 106 106 test6
當用戶登錄時,他應查看其不屬於其成員的那些池的列表,例如,如果登錄ID為101的用戶,則應顯示以下結果。
Pool Members
xyz 2 members
可能是您想要的
SELECT name AS Pool,
count(pool_id) AS Members
FROM Pools
JOIN Members ON Pools.id=Members.pool_id
WHERE Pool.id NOT IN
(SELECT pool_id
FROM Members
WHERE user_id=101)
GROUP BY Member.pool_id
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.