【问题标题】:group by for all rows and some selected group by values?所有行的分组依据和一些选定的分组依据值?
【发布时间】:2016-02-01 16:45:57
【问题描述】:

有两个表:Products 和 Orders,1-N 关系。

在产品上创建一个分组依据,订单价值的总和是直截了当的,并给出如下内容:

Product1    1000
Product2    2000
Product3    1400
Product4    1600

但是,我只需要列出几个选定的产品(可以在查询设计视图中输入),并将所有其他产品的总和放在最后一行,如下所示:

Product1    1000
Product3    1400
Other       3600

【问题讨论】:

    标签: ms-access ms-access-2010 ms-access-2007 ms-access-2013


    【解决方案1】:

    在查询中添加字段表达式 ...

    IIf([YourField] In ('Product1','Product3'), [YourField], 'Other')
    

    然后您可以GROUP BY该字段表达式并对订单值求和。

    【讨论】:

    • 谢谢。有什么方法可以参数化这些值?以一种简单的方式创建一个表单并将“in”部分绑定到某个表单输入?但不使用固定数量的参数, In([Forms]![QueryForm].[Column1], [...] )
    • In () 将不接受值列表的参数。您可以使用 VBA 根据表单输入修改查询的 SQL。
    【解决方案2】:

    您可以使用字段或表格将您的产品翻译成您想要的产品以进行输出。

    更好的选择是使用如下表格:

    Product-Name    Product-Name-For-Output
    Product1        Product1
    Product2        Other
    Product3        Product3
    Product4        Other
    

    然后将新表加入您的查询并从输出中删除 Product-Name 字段并添加 Product-Name-For-Output 字段。

    此解决方案的优点是您只需要更改数据而不是查询即可在Other 组中添加或删除产品。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-03
      • 1970-01-01
      • 1970-01-01
      • 2018-07-28
      • 1970-01-01
      • 1970-01-01
      • 2011-09-12
      • 1970-01-01
      相关资源
      最近更新 更多