Sql 在两列上合并两个表,但值列不同-MS Access
我很难合并两个表,每个表都有不同的值列和两个相同的列 表1列出了各列;项目,Mnth,左 表2列出了各列;项目,Mnth,总计 我试图实现一个有四列的表;项目,Mnth,左,总计。并按项目和Mnth聚合Left和Total以及分组的总和,因此每一行相对于项目和Mnth是唯一的Sql 在两列上合并两个表,但值列不同-MS Access,sql,ms-access,Sql,Ms Access,我很难合并两个表,每个表都有不同的值列和两个相同的列 表1列出了各列;项目,Mnth,左 表2列出了各列;项目,Mnth,总计 我试图实现一个有四列的表;项目,Mnth,左,总计。并按项目和Mnth聚合Left和Total以及分组的总和,因此每一行相对于项目和Mnth是唯一的 SELECT Proj AS Project, Mnth, Left FROM Table1 UNION ALL SELECT Project, Mnth, Total FROM Table2 GROUP BY Proj
SELECT Proj AS Project, Mnth, Left
FROM Table1
UNION ALL
SELECT Project, Mnth, Total
FROM Table2
GROUP BY Project, Mnth;
这是我到目前为止尝试过的,但没有效果。您可以尝试为表1和表2中缺少的列指定一个0值,并在并集后进行求和聚合 在某些数据库中,左边还有一个保留字,所以您可能需要使用引号来避免语法错误
select Project , Mnth , sum("left") as Left , sum(Total) as Total
from
(
SELECT Proj AS Project, Mnth, a."left" , 0 as Total FROM Table1 a
UNION ALL
SELECT Project, Mnth, 0 as Left, Total FROM Table2 b
) t
GROUP BY Project, Mnth;
您可以尝试为表1和表2中缺少的列分配一个0值,并在并集后进行总和聚合 在某些数据库中,左边还有一个保留字,所以您可能需要使用引号来避免语法错误
select Project , Mnth , sum("left") as Left , sum(Total) as Total
from
(
SELECT Proj AS Project, Mnth, a."left" , 0 as Total FROM Table1 a
UNION ALL
SELECT Project, Mnth, 0 as Left, Total FROM Table2 b
) t
GROUP BY Project, Mnth;
请回答您的问题,并根据这些数据添加一些内容和预期输出。请(您的问题-请勿在评论中发布代码或其他信息)@a_horse_,其名称已用MS Access标记更新。请回答您的问题,并根据该数据添加一些内容和预期输出。请(您的问题-请勿在评论中发布代码或其他信息)@a_horse_,其名称已用MS Access标记更新。