繁体   English   中英

如何在一次连接三个表时求和一列

[英]how can I sum a column while joining three tables at once

我相信有一个很好的方法。 我搜索并尝试,但找不到。 我想加入三个这样的表格(或者更好的方法,请提出建议)

SELECT listing.*, users.username, review.rNumber 
     FROM listing, users,review 
WHERE users.uid=listing.cuid and listing.lid=review.lID

但是我不想要review.rNumber我想要像sum(rNumber)这样得到它的sum(rNumber) 因为一个清单可以有很多评论..谢谢..

这是我要通过此查询实现的

  1. 列表中的所有值。
  2. 用户表中的唯一用户名
  3. 评论表中评论的总和

关系是

  • 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

(并且更可读的显式连接正弦)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM