|
如附件
数据库已建立
客户订单明细表:是所有的销售数据。
投资金:是指“产品代码”以“20”开头的产品。Like "20*"
熊猫金:是指“产品代码”已“17”开头,并含“T”的产品。Like "17*T*"
收藏金:是指剩下的其余产品。Not Like "20*" and Not Like "17*T*"
由于需要进行时间段汇总查询,所以每次统计均需修改查询表内的“销售时间”的条件。
是否能做一个窗体(附件中已增加),通过输入查询起、止时间,系统自动查询指定时间段内产品的销售量,并更新至存在的三张查询表内(投资金、熊猫金、收藏金)
————————————————————————————————————————————————————————————
第二次(已解决)
再次感谢“zez”上次的回答。
针对这个数据库还有个问题,是否能把三种产品的数据查询到一张表里面,亦即:
分行号 投资金 熊猫金 收藏金
A分行 100w 200w 300w
B分行 ... ... ...
————————————————————————————————————————————————————————————
我现在数据源是“客户订单明细”表,现要增加一个查询数据源“客户订单明细2010”(即2010年的数据)
现希望对“客户订单明细”、“客户订单明细2010”进行联合查询,语句编写如下
SELECT 客户订单明细.分行号, Sum(IIf([产品代码] Not Like "20*" And [产品代码] Not Like "17*t*",[总金额],0)) AS 收藏金, Sum(IIf([产品代码] Like "20*",[总金额],0)) AS 投资金, Sum(IIf([产品代码] Like "17*t*",[总金额],0)) AS 熊猫金
FROM 客户订单明细
where (((CDate(Left([销售日期],4) & "/" & Mid([销售日期],5,2) & "/" & Right([销售日期],2)))<=[Forms]![查询窗体]![查询终止日期] And (CDate(Left([销售日期],4) & "/" & Mid([销售日期],5,2) & "/" & Right([销售日期],2)))>=[Forms]![查询窗体]![查询起始日期]) AND ((客户订单明细.订单状态)<>"3"))
union all
SELECT 客户订单明细2010.分行号, Sum(IIf([产品代码] Not Like "20*" And [产品代码] Not Like "17*t*",[总金额],0)) AS 收藏金, Sum(IIf([产品代码] Like "20*",[总金额],0)) AS 投资金, Sum(IIf([产品代码] Like "17*t*",[总金额],0)) AS 熊猫金
FROM 客户订单明细2010
where (((CDate(Left([销售日期],4) & "/" & Mid([销售日期],5,2) & "/" & Right([销售日期],2)))<=[Forms]![查询窗体]![查询终止日期] And (CDate(Left([销售日期],4) & "/" & Mid([销售日期],5,2) & "/" & Right([销售日期],2)))>=[Forms]![查询窗体]![查询起始日期]) AND ((客户订单明细.订单状态)<>"3"))
GROUP BY 分行号;
但系统报“视图执行的查询中不包含作为聚合函数一部分的特定表达式'分行号'”
[ 本帖最后由 lyxiang 于 2011-1-19 10:10 编辑 ] |
|