我遇到一个关于水晶报告如何分组的问题?
我有一个名为Part
的表 Part_ID Parent_Part_ID
B A
c A
A NULL
C B
D B
E C
F C
A是顶部,B,C,D不仅是子部分,而且是父部分,E,F是最低子部分。
现在,我需要显示从Parent_part到Part with Levels,像这样
如何在Crystal报表
中显示此格式数据我尝试使用hierachical grouping options
,但结果不是我想要的
我需要的结果是:
A
B
C (shold be show even the part have two parent part)
E
F
D
C
E
F
答案 0 :(得分:3)
尝试了名为hierachical grouping options
的菜单语音,并指定了将每条记录链接到其父级的字段。
结果应该类似于:
A
B
C
E
F
D
C
E
F
但Crystal Reports层次结构只记录每条记录一次,并不关心同一个元素是否应该在两个父项下。
所以我做了一个查询 - 黑客,使用基于父项的同一个表上的JOIN直接在数据中创建层次结构
DECLARE @t TABLE (Part_ID varchar(1), Parent_Part_ID varchar(1) );
insert into @t
SELECT 'B' , 'A'
UNION SELECT 'C' , 'A'
UNION SELECT 'A' , NULL
UNION SELECT 'C' , 'B'
UNION SELECT 'D' , 'B'
UNION SELECT 'E' , 'C'
UNION SELECT 'F' , 'C'
SELECT
t1.Part_ID as t1,
t2.Part_ID as t2,
t3.Part_ID as t3,
t4.Part_ID as t4
FROM @t t1
LEFT JOIN @t t2 on t1.Part_ID = t2.Parent_Part_ID
LEFT JOIN @t t3 on t2.Part_ID = t3.Parent_Part_ID
LEFT JOIN @t t4 on t3.Part_ID = t4.Parent_Part_ID
WHERE t1.Parent_Part_ID is null
和删除了分层分组选项,在t1,t2,t3 上创建了3个组,每个组使用标头并使用t4的详细信息。
根据需要,结果是
A
B
C
E
F
D
C
E
F
Here the .rpt如果有人需要它。