【发布时间】:2011-11-04 23:43:05
【问题描述】:
我有一个水晶报表,它有一个基于两个字段的分组语句
- 公司名称
- 帐户类型
现在 Crystal 报表可以工作,它按“公司名称”分组,但不按“帐户类型”分组。我有两种类型的帐户,“普通帐户和高级帐户”。一家公司在我们这里有两种类型的账户,它是定期而不是溢价。你认为是什么问题。
我是水晶报表的新手。我虽然熟悉 SQL。我看到的区别是
- 没有用于任何列的聚合函数 - 在 SQL 中需要聚合字段才能获得有意义的结果
- 报告中大约有 10 个字段,但 group by 仅用于两个字段 - 在 SQL 中,如果有两个以上字段,则必须按所有字段分组
- group by 字段位于中间和末尾 - 同样在 SQL 中 groupby 字段的顺序很重要
在这种情况下,我首先按公司名称分组,然后是帐户状态。任何见解都会有所帮助。
请注意,我从 Crystal Report 生成了等效的 SQL 语句。该查询没问题,只是没有 group by 语句。我自己添加了这些和聚合列,我得到的结果与我在 Crystal 中得到的结果相同(但 SQL 报告更准确,因为它确实按两个字段而不是一个字段分组)。
编辑:示例日期。每个公司可以有多个相同类型的帐户。我想汇总“公司名称”和“帐户类型”,以便将数据列出如下。
+----+--------------+-------------+------+
| ID | Company Name | AccountType | Sale |
+----+--------------+-------------+------+
| 1 | ABC | I | 500 |
| 2 | ABC | I | 600 |
| 3 | ABC | O | 1000 |
| 4 | ABC | O | 2000 |
| 5 | ABC | O | 3000 |
| 6 | XYZ | O | 2500 |
| 7 | LMN | O | 3400 |
+----+--------------+-------------+------+
我想要上表的输出是
+--------------+-------------+------+
| Company Name | AccountType | Sale |
+--------------+-------------+------+
| ABC | I | 1100 |
| ABC | O | 6000 |
| XYZ | O | 2500 |
| LMN | O | 3400 |
+--------------+-------------+------+
【问题讨论】:
标签: crystal-reports crystal-reports-2008