簡體   English   中英

Mysql左聯接:顯示基於聯接表中另一個屬性的行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM