mysql - 在 MYSQL 中合并两个不同表的结果

标签 mysql sql

我必须通过“销售人员”列将两个具有不同列集的表组合起来。 到目前为止,我得到的查询的问题是一些销售人员的姓名重复,而右表中的一些姓名丢失。

交易表

salesperson,     Profit,     Units
John             100          1
John             50           1
Carl             200          2
Matt             300          3

连接表

salesperson,       Amount       
Carl               100
Lynda              200
Lucy               300

组合表

salesperson,       (Amount+Profit),    Units(sum)
Carl               300                 2
John               150                 2
Matt               300                 3
Lynda              200                 0
Lucy               300                 0

这就是我目前所得到的

SELECT t.salesperson, SUM(t.profit) + SUM(c.amount), SUM(t.units)
FROM transactions AS t
FULL OUTER JOIN connections as c ON t.salesperson = c.salesperson
GROUP BY t.salesperson
ORDER BY t.salesperson ASC

如有任何帮助,我们将不胜感激。

最佳答案

SELECT salesperson, SUM(total), SUM(Units)
FROM 
     (
        SELECT salesperson, Amount as total, Units
        FROM Transactions
        UNION ALL
        SELECT salesperson, Profit as total, 0 as Units
        FROM Connections
    ) T
GROUP BY salesperson

关于mysql - 在 MYSQL 中合并两个不同表的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33848927/

相关文章:

mysql - 通过跳过空值来连接列值

c# MySqlCommand.Parameters.AddWithValue,参数表达一个表,结果命令添加了单引号

mysql - 'where clause' 中的未知列 - 在 WHERE 中使用 ALL 运算符时

mysql - SQL公式仅在一条语句中以任何顺序匹配所有单词

PHP, MySQL - 连接

php - 获取总投票表 mysql 表并比较它?

MySQL INNER JOIN 从第二个表中只选择一行

sql - 光标在光标内

sql - 如何在 Microsoft Access 中通过 VBA 设置 INSERT SQL 查询的参数值?

sql - 对表中的一列进行全文搜索