如果没有找到mysql的记录,则返回0

时间:2017-05-26 14:05:39

标签: mysql

如果<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="sidebar"> <div class="title"> Title </div> <ul class="list"> <li> This is a very long long line </li> </ul> <div class="title"> Title2 </div> <ul class="list"> <li> This is a very long long line </li> </ul> </div>表中的total表中的记录不存在,我希望此查询为users返回0的总和。 securitydeposits不适用于此方案。我该怎么做呢?

COALESCE

2 个答案:

答案 0 :(得分:0)

我猜你的Delete正在将RequestType = Create更改为GROUP BY

尝试将OUTER JOIN更改为INNER JOIN

答案 1 :(得分:0)

只是要添加@Vatev所说的内容,您无法将s.user用于group by,因为left join会为null提供s.useru.email匹配。 此外,如果您想在select子句中使用email,还需要group by它才能获得正确的结果。

还尝试将alias用作表名作为最佳做法,因此您可以在查询的其余部分中引用它们。

SELECT u.email 
,COALESCE(SUM(s.`amount_paid`),0) 
AS total 
FROM `users` u
  LEFT JOIN `securitydeposits` s
ON s.user=u.email 
GROUP BY u.email 
ORDER BY `total` DESC