我相信有一个很好的方法。我搜索并尝试但找不到。 我想加入三个这样的表(或者更好的方法,请建议)
SELECT listing.*, users.username, review.rNumber
FROM listing, users,review
WHERE users.uid=listing.cuid and listing.lid=review.lID
但我不希望review.rNumber
我想要像sum(rNumber)
那样得到它的总和。因为一个列表可以有很多评论..谢谢..
以下是我想通过此查询实现的目标
关系是
如果我需要添加表格,请告诉我.. 谢谢:))
答案 0 :(得分:0)
您可以获得具有适当组别的用户的总和,但是对于所有列表结果的加入,您可以使用dinamic join
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
(并且显式连接sintax更具可读性)