[英]How to combine two SQL queries in one
我有表用戶 , 參與者和聊天 。 我需要在特定的聊天中吸引所有用戶,並通過聊天名稱吸引該用戶的聊天數量。 例如當前表:
user chat participant
id|name id|name user_id|chat_id
1|Mike 1|School 1|1
2|John 2|Football 2|1
3|Sara 3|Gym 1|2
3|3
並通過關鍵字“學校”我想得到這個
Mike|2
John|1
我有兩個查詢來獲取結果的第一列和第二列,但不知道如何組合它:
SELECT user.name FROM user
JOIN participant ON (user.id = participant.user_id)
JOIN chat ON (participant.chat_id = chat.id) WHERE chat.name = 'School';
那給我
Mike
John
和
SELECT user.name, COUNT(*) FROM user
JOIN participant ON (user.id = participant.user_id) GROUP BY user.name;
退貨
John|1
Mike|2
Sara|1
那么如何結合呢?
嘗試這個
SELECT p1.name, COUNT(p.user_id) totUser
FROM participant p
INNER JOIN (select u.id, u.name FROM participant p
inner JOIN chat c ON c.id = p.[chat_id]
INNER JOIN user u ON u.id = p.user_id
AND c.name = 'School') p1 ON p1.id = p.user_id
GROUP BY p1.name
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.