Office中国论坛/Access中国论坛

标题: 查询中分类汇总,如何排除重复字段的汇总? [打印本页]

作者: xiaoan614    时间: 2009-5-7 11:31
标题: 查询中分类汇总,如何排除重复字段的汇总?
见上传的文件中查询Re_Cus_Wnqk_Sales结果中,Sales_name字段为GSZS和YSF两个结果的汇总数值因有重复记录,所以汇总时数值翻倍,如何保证即使有重复的数值,只算一条?即:(希望的汇总结果为)
GSZS=149662.9
YSF=104,249.20
其中以下两个结果因没有重复记录,所以数值时正确的
CZW =   755,831.1875
DH =    -115.60


不知我讲的是否明白?该如何实现?
作者: Henry D. Sy    时间: 2009-5-7 11:51
SELECT B.SALES_NAME, Sum(CUSTOM.IFY_ARREARAGE_AMOUNT) AS Total
FROM CUSTOM INNER JOIN [SELECT DISTINCT DAILY_SALES_MANAGENT_MAIN.CUSTOM_NAME, DAILY_SALES_MANAGENT_MAIN.SALES_NAME
FROM DAILY_SALES_MANAGENT_MAIN
]. AS B ON CUSTOM.CUSTOM_NAME = B.CUSTOM_NAME
GROUP BY B.SALES_NAME;
作者: xiaoan614    时间: 2009-5-7 13:15
B表是怎么建立的?不太明白?能否解释一下,谢谢!
作者: Henry D. Sy    时间: 2009-5-7 13:26
SELECT DISTINCT DAILY_SALES_MANAGENT_MAIN.CUSTOM_NAME, DAILY_SALES_MANAGENT_MAIN.SALES_NAME
FROM DAILY_SALES_MANAGENT_MAIN
这个就是B表,
请参阅帮助中的子查询
作者: xiaoan614    时间: 2009-5-7 13:36
关键在查询中有这个条件:
DAILY_SALES_MANAGENT_MAIN!DATE>=#2009-02-01# And <=#2009-02-10#

如何设置这个条件?
作者: Henry D. Sy    时间: 2009-5-7 13:49
SELECT B.SALES_NAME, Sum(CUSTOM.IFY_ARREARAGE_AMOUNT) AS TotalFROM CUSTOM INNER JOIN (SELECT DISTINCT DAILY_SALES_MANAGENT_MAIN.CUSTOM_NAME, DAILY_SALES_MANAGENT_MAIN.SALES_NAMEFROM DAILY_SALES_MANAGENT_MAINWHERE (((DAILY_SALES_MANAGENT_MAIN.DATE) Between #2/1/2009# And #2/10/2009#)))AS B ON CUSTOM.CUSTOM_NAME = B.CUSTOM_NAMEGROUP BY B.SALES_NAME
作者: xiaoan614    时间: 2009-5-7 14:57
非常感谢,明白了!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3