如果<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
答案 0 :(得分:0)
我猜你的Delete
正在将RequestType = Create
更改为GROUP BY
。
尝试将OUTER JOIN
更改为INNER JOIN
答案 1 :(得分:0)
只是要添加@Vatev所说的内容,您无法将s.user
用于group by
,因为left join
会为null
提供s.user
与u.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