我只是想添加不同表中的不同列...有人知道如何做到这一点吗?
假设我有如下 3 个表
- 电视销售
- 空调销售
- 冷却器销售
表格数据如下
1)电视销售
Id Date NoOfSales Totalamount
1 03/05/2014 10 10000
2 04/05/2014 20 20000
3 05/05/2014 30 30000
2)Ac销售
Id Date NoOfSales Totalamount
1 03/05/2014 10 50000
2 04/05/2014 20 60000
3 05/05/2014 30 70000
3)冷却器销售
Id Date NoOfSales Totalamount
1 03/05/2014 10 30000
2 04/05/2014 20 60000
3 05/05/2014 30 70000
现在我想从所有表中添加特定“日期”的“Totalamount” 例如我需要 2014 年 3 月 5 日的总金额为 90000
最佳答案
在 MySQL 中,最简单的方法是使用 union all
和聚合:
select date, sum(totalamount) as TotalSales
from ((select date, totalamount from TvSales
) union all
(select date, totalamount from AcSales
) union all
(select date, totalamount from CoolerSales
)
) t
group by date;
您想要使用union all
的原因是为了防止各个表中的日期不同。 join
可能会丢失行。
其次,具有相同格式的三个表表明数据库设计不佳。您确实应该有一个包含销售额的表和一个指示它所指的产品类型的列。
关于mysql - 如何从不同的表添加不同的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23723637/