我相信有一个好办法。我搜索并尝试但找不到。 我想加入这样的三个表(或者更好的方法,请建议)
SELECT listing.*, users.username, review.rNumber
FROM listing, users,review
WHERE users.uid=listing.cuid and listing.lid=review.lID
但我不想要 review.rNumber
我想像 sum(rNumber)
那样获得它的总和。因为一个列表可以有很多评论.. 谢谢..
这是我想通过此查询实现的目标
- 列表中的所有值。
- 仅来自用户表的用户名
- 评论表中的评论总和
关系是
- users.uid=listing.cuid 和listing.lid=review.lID 或
- users.uid=listing.cuid=review.sellerID
如果我需要添加表格,请告诉我.. 谢谢:)
最佳答案
您可以通过适当的分组依据获得用户的总和,但要加入所有列表结果,您可以使用动态加入
SELECT listing.*, t.username, t.sum_rNumber
fFROM listing
INNER JOIN users ON users.uid=listing.cuid
INNER JOIN review ON listing.lid=review.lID
INNER JOIN (
SELECT users.username as username, sum( review.rNumber) sum_rNumber
FROM listing
INNER JOIN users ON users.uid=listing.cuid
INNER JOIN review ON listing.lid=review.lID
GROUP BY users.username
) t on users.username = t.username
(并且显式连接语法更具可读性)
关于php - 如何在一次连接三个表的同时对列求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40936717/