[英]join count from one table to select from another - mysql
我在表a上有一个带有子查询的选择查询:
select UserName, Name, anniversaryDate, RegionCode
from a where UserName in
(
select Username from
(
select Username, max(timeUsed)
from log_table where role='Cou'
group by Username order by max(timeUsed) desc limit 10
) a
)
它工作正常,现在我有另一个表b,该表上只有3列:
用户名,PName和反馈
其中每个用户名都有多次,我想加入我的第一个查询,我从第一个查询中获得的每个用户名的计数。
对于eaxmple:
SELECT COUNT(UserName) FROM b where UserName='Admin' group by UserName
如何将第二个查询的结果加入第一个查询?
表:
log_table:
id-Int,AI,PK
用户名-varchar
动作-内部
timeUsed-日期时间
角色-varchat
A:
用户名-varchar,PK
名称-varchar
周年纪念日-日期时间
RegionCode-整数
b:
用户名-varchar
PName-varchar
反馈-varchar
根据您的表结构,以下查询可能会添加您要查找的必要列:
select users.UserName, Name, anniversaryDate, RegionCode,
Coalesce(count(b.UserName),0) as cnt
from users
left outer join (select Username, max(timeUsed)
from log_table where role='Cou'
group by Username order by max(timeUsed) desc limit 10
) a using (UserName)
left outer join fedbacks b on (a.UserName = b.userName)
group by users.UserName;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.