您好我正在使用以下查询来显示第一个表中id是相同数字的行数,我还有2个表。如果我只留下一个计数evertything工作正常,但有双重计数选择我得到相同的结果是错误的:
'SELECT c.*, count(s.userID) as count_consulta, count(a.userID) as count_asesoria
FROM users as c
LEFT JOIN consulta AS s ON s.userID = c.userID
LEFT JOIN asesoria AS a ON a.userID = c.userID
GROUP BY c.userID DESC'
我得到了这个:
count_consulta = 15
count_asesoria = 15
应该在哪里
count_consulta = 3
count_asesoria = 5
欢迎任何帮助。谢谢!
答案 0 :(得分:0)
声明"欢迎任何帮助"我把它扔出去看看它是否符合你的意思。
$sql="select *,
( select count( distinct s.`userID` ) from `consulta` ) as 'count_consulta',
( select count( distinct a.`userID` ) from `asesoria` ) as 'count_asesoria'
from `users` c
left outer join `consulta` s on s.`userID`=c.`userID`
left outer join `asesoria` a on a.`userID`=c.`userID`
group by c.`userID` desc;";