繁体   English   中英

来自同一ID的多个表的MySQL sum列

[英]Mysql sum column from multiple table in the same id

我在mysql中有18个表。

所有表都有一列结果(例如a.result,b.result等。)我需要选择18个表的结果,并对所有id求和。

d.id 1 = a.result + b.result + c.result (所有表中的id为1)

谢谢

使用UNION ALL从所有18个表中获取所有值。 然后使用SUM函数。

询问

SELECT SUM(t.result) FROM(
    SELECT result FROM table_1
    UNION ALL
    SELECT result FROM table_2
    UNION ALL
    ...........................
    ...........................
    SELECT result FROM table_18
)t;

如果要从表中获取特定ID的result列值。 然后,使用WHERE

它不是很漂亮,但是类似的东西会起作用

SELECT a.result + b.result + c.result -- (All the way to r.result...)
FROM TableA a
INNER JOIN TableB b
  ON a.ID = b.ID
INNER JOIN TableC c
  ON b.ID = c.ID
-- (All the way to TableR ...)

除非您绝对确定ID将始终存在于所有表中,否则您可能要考虑使用OUTER JOINS

暂无
暂无

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

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