同一级别的多个分组
Multiple groupings at the same level
我从三个表中提取:A、B 和 C。
B和C通过外键引用A,所以A和B、A和C之间是1-n的关系,而且A中可以有多条匹配记录,所以数据可以看像这样:
A(1) --> B(1), B(2), ... B(n)
--> C(1), C(2), ... C(n)
A(2) --> B(1), B(2), B(3), ... B(n)
--> C(1), C(2), C(3), ... C(n)
.
.
.
A (n) --> B(1), B(2), B(3), ... B(n)
--> C(1), C(2), C(3), ... C(n)
我要A的记录作为最外层的组,然后B的记录作为同一级别的内层组,一个接一个。所以报告应该看起来像这样:
Table A Record 1
(Data distributed out into several rows)
Table B Record 1
Table B Record 2 ...
Table B Record n
Table C Record 1
Table C Record 2 ...
Table C Record n
创建三个组是行不通的,因为它们总是嵌套的,所以我无法在同一层级显示B和C。 (C 将嵌套在 B 中。)我无法为 B 和 C 创建 2 个子报表,因为整个东西都是一个子报表
我该如何继续?
加入并合并您的表并在第二层使用仅打印所需的组。
TableA left outer join TableB
union all
TableA left outer join TableC
会产生像
这样的记录
A(1), B(1)
A(1), B(2)
A(1), B(3)
A(1), C(1)
A(1), C(2)
A(2), B(1)
A(2), B(2)
A(2), C(1)
在同一级别为 B
和 C
创建一个群组,并在没有记录时隐藏它们(例如 B.Id is null
)
Group for A
Group for B
Group for C
我从三个表中提取:A、B 和 C。
B和C通过外键引用A,所以A和B、A和C之间是1-n的关系,而且A中可以有多条匹配记录,所以数据可以看像这样:
A(1) --> B(1), B(2), ... B(n)
--> C(1), C(2), ... C(n)
A(2) --> B(1), B(2), B(3), ... B(n)
--> C(1), C(2), C(3), ... C(n)
.
.
.
A (n) --> B(1), B(2), B(3), ... B(n)
--> C(1), C(2), C(3), ... C(n)
我要A的记录作为最外层的组,然后B的记录作为同一级别的内层组,一个接一个。所以报告应该看起来像这样:
Table A Record 1
(Data distributed out into several rows)
Table B Record 1
Table B Record 2 ...
Table B Record n
Table C Record 1
Table C Record 2 ...
Table C Record n
创建三个组是行不通的,因为它们总是嵌套的,所以我无法在同一层级显示B和C。 (C 将嵌套在 B 中。)我无法为 B 和 C 创建 2 个子报表,因为整个东西都是一个子报表
我该如何继续?
加入并合并您的表并在第二层使用仅打印所需的组。
TableA left outer join TableB
union all
TableA left outer join TableC
会产生像
这样的记录A(1), B(1)
A(1), B(2)
A(1), B(3)
A(1), C(1)
A(1), C(2)
A(2), B(1)
A(2), B(2)
A(2), C(1)
在同一级别为 B
和 C
创建一个群组,并在没有记录时隐藏它们(例如 B.Id is null
)
Group for A
Group for B
Group for C