Sql Access联合查询中的问题分组

Sql Access联合查询中的问题分组,sql,ms-access,union,Sql,Ms Access,Union,我在Access中构建了一个联合查询,它从两个单独的查询中获取结果并将它们连接在一起。它工作得很好,但结果并没有按销售额、成本和利润进行分组,我试图对这三个领域进行总结 这是我的密码: SELECT Store, count( [MASTER CREDIT MEMO QUERY].[Count]) as Count, [Sales Code], Name, Sum( [MASTER CREDIT MEMO QUERY].[Sales]) as Sales, Sum( [MASTER CRED

我在Access中构建了一个联合查询,它从两个单独的查询中获取结果并将它们连接在一起。它工作得很好,但结果并没有按销售额、成本和利润进行分组,我试图对这三个领域进行总结

这是我的密码:

SELECT 

Store,
count( [MASTER CREDIT MEMO QUERY].[Count]) as Count,
[Sales Code],
Name,
Sum( [MASTER CREDIT MEMO QUERY].[Sales]) as Sales,
Sum( [MASTER CREDIT MEMO QUERY].[Cost]) as Cost,
Sum( [MASTER CREDIT MEMO QUERY].[Profit]) as Profit

FROM [MASTER CREDIT MEMO QUERY]

GROUP by

Store,
[Sales Code],
Name

UNION SELECT 

Store,
count([MASTER SALES INVOICE QUERY].[Count]) as Count,
[Sales Code],
Name,
Sum([MASTER SALES INVOICE QUERY].[Sales]) as Sales,
Sum([MASTER SALES INVOICE QUERY].[Cost]) as Cost,
Sum([MASTER SALES INVOICE QUERY].[Profit]) as Profit

FROM [MASTER SALES INVOICE QUERY]

GROUP BY

Store,
[Sales Code],
Name
ORDER BY Sales DESC;

有人能帮我进行分组吗?

您正在对联合中的单独选择进行分组,而不是联合本身的结果。您应该将group by放在整个查询以及group函数之外

请试试这个(我不熟悉ms access语法,但应该可以):


亚历克斯-谢谢你的帮助。你的解决方案没有完全奏效,但你让我得到了95%的成功。我把你的代码,并修改后,试图弄清楚它到底在做什么

这是解决方案,以防你想知道

非常感谢你的帮助

SELECT TBL1.Store, Count(TBL1.Count) AS [Count], TBL1.[Sales Code], TBL1.Name, Sum(TBL1.Sales) AS Sales, Sum(TBL1.Cost) AS Cost, Sum(TBL1.Profit) AS Profit
FROM (SELECT 

Store, 
Count, 
[MASTER CREDIT MEMO QUERY].Sales, 
Cost, 
Profit, 
Name, 
[Sales Code]

FROM [MASTER CREDIT MEMO QUERY]

UNION 

SELECT 

Store, 
Count, 
[MASTER SALES INVOICE QUERY].Sales, 
Cost, 
Profit, 
Name, 
[Sales Code]

FROM [MASTER SALES INVOICE QUERY])  AS TBL1
GROUP BY TBL1.Store, TBL1.[Sales Code], TBL1.Name
ORDER BY TBL1.Name;

首先拿出orderby语句,看看它的作用。如果它运行正常,那么尝试以稍微不同的方式设置查询,如:谢谢,Alex。不幸的是,它不喜欢语法。我收到一条错误消息:“SELECT语句包含拼写错误或缺少的保留字或参数名称,或者标点符号不正确。”我想知道是否可以创建一个子查询,然后可以连接到另一个查询。我更新了查询。我认为“Count”是一个保留字,所以我把它放在括号里。请再试一次
SELECT TBL1.Store, Count(TBL1.Count) AS [Count], TBL1.[Sales Code], TBL1.Name, Sum(TBL1.Sales) AS Sales, Sum(TBL1.Cost) AS Cost, Sum(TBL1.Profit) AS Profit
FROM (SELECT 

Store, 
Count, 
[MASTER CREDIT MEMO QUERY].Sales, 
Cost, 
Profit, 
Name, 
[Sales Code]

FROM [MASTER CREDIT MEMO QUERY]

UNION 

SELECT 

Store, 
Count, 
[MASTER SALES INVOICE QUERY].Sales, 
Cost, 
Profit, 
Name, 
[Sales Code]

FROM [MASTER SALES INVOICE QUERY])  AS TBL1
GROUP BY TBL1.Store, TBL1.[Sales Code], TBL1.Name
ORDER BY TBL1.Name;