【问题标题】:Mysql Query to Merge 3 tables into 1 TableMysql查询将3个表合并为1个表
【发布时间】:2023-03-05 22:55:01
【问题描述】:

绘制我有单独查询的每个输入表,需要在该查询上应用功能并希望为输出表创建单个查询

Select Distinct Names, SUM(count) from (选择查询表1 联盟 选择查询表2 联盟 选择查询表 3) 按名称分组表;

此查询未正确添加计数 Niether 正确排序名称 这有什么问题?

输入表一:-

    Names count  
    bob   3
    pol   4

输入表2:-

    Names count    
    bob   5  
          0      - name may be missing here neglect this entry  

输入表3:-

    Names count  
    james  4  
    pol    7  
    bob    1

预期输出表:-

    Names  count  
    bob    9  
    pol    11  
    james  4  

【问题讨论】:

  • 请表现出一些努力并解释你已经尝试过什么。 SO 不是查询编写服务。
  • @SamiKuhmonen of rough 它不是查询编写服务 .. 绘制每个表我有不同的查询我需要组合该查询以获得最终结果,这些表只是示例
  • 我在尽一切努力后尝试使用联合所有不同的内部连接,这就是为什么我这样问这个问题
  • 然后请编辑问题,解释你尝试了什么,他们有什么问题等等。
  • @SamiKuhmonen 已编辑

标签: mysql


【解决方案1】:

您可以使用 UNION 和它们的总和。

        select sum(a), sum(b) from 
    (select 2 as a, 1 as b 
union select 3 as a, 6 as b 
union select 4 as a, 1 as b) as b

【讨论】:

  • 我没有得到:(
  • 我刚刚添加了一个带有 union 和 sum 的示例查询。您需要在邮件表上执行相同的操作以获取名称并在子查询中相应地计数。
  • 我之前尝试过同样的方法,但它不适用于联合和总和
【解决方案2】:

试试这个查询

select `Name`,sum(`Count`) total from ( select `Name`,`Count` from `table1` union all select `Name`,`Count` from `table2` union all select `Name`,`Count` from `table3` ) tot group by `Name`

希望对您有所帮助。

【讨论】:

  • 它在名称列下返回名称名称名称
  • 正如你提到的,我在我的系统上创建了表并且它运行正常。你能告诉我你是如何运行查询的吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-18
  • 1970-01-01
  • 1970-01-01
  • 2019-05-19
  • 2010-11-04
  • 1970-01-01
相关资源
最近更新 更多