Mysql从两个表中选择两个和
我试图从两个表中选择汇总数据。 这就是他们的样子 表1:Mysql从两个表中选择两个和,mysql,sql,join,left-join,outer-join,Mysql,Sql,Join,Left Join,Outer Join,我试图从两个表中选择汇总数据。 这就是他们的样子 表1: products | revenue| ------------------| product1 | 10 | product2 | 20 | product1 | 20 | 表2: products | revenue| ------------------| product1 | 40 | product2 | 30 | product2 | 40 | 因此,查询应按如下方式求和:
products | revenue|
------------------|
product1 | 10 |
product2 | 20 |
product1 | 20 |
表2:
products | revenue|
------------------|
product1 | 40 |
product2 | 30 |
product2 | 40 |
因此,查询应按如下方式求和:
products | revenue|
------------------|
product1 | 70 |
product2 | 90 |
我尝试过这个和其他一些查询,但它们是不正确的
SELECT Table1.products, Table1.SUM(`revenue`), Table2.SUM(`revenue`)
FROM Table1
JOIN Table2
ON Table1.products = Table2.products
group by Table1.products;
你能帮助我,在这种情况下,什么是正确的查询?谢谢。我建议先使用
union all
,然后使用group by
:
select product, sum(revenue)
from ((select product, revenue from table1) union all
(select product, revenue from table2)
) tt
group by product;
这将确保所有产品都在结果集中,即使产品只在一个表中。使用UNION all和SUM AGGRATE函数:
SELECT products , SUM(revenue) revenue
FROM
(
SELECT products , revenue
FROM table1
UNION ALL
SELECT products , revenue
FROM table2
) A
GROUP BY products