我有一个要报告的数据集。但是,有些数据是重复的,有些不是:
ID Project Org Type Facility AssessorManager Assessor
123 Proj1 Org1 Ty1 Facil1 Smith Jones
123 Proj1 Org2 Ty1 Facil2 Smith Black
123 Proj1 Org2 Ty1 Facil3 Smith Black
234 Proj1 Org3 Ty2 Facil3 Harris Jones
234 Proj1 Org1 Ty2 Facil3 Harris Jones
393 Proj2 Org2 Ty3 Facil1 Smith Black
因此,对于一个 ID,与 Project、Type 和 AssessorManager 是 1:1 的关系;以及与 Org、Facility 和 Assessor 的 1:N 关系。
我想要一份不会重复的报告,并且已经报告了 1:1 数据,然后是每个 1:N 数据集的存储过程。我得到如下结果,但它是狗慢。
ID Project Org Type Facility AssessorManager Assessor
123 Proj1 Org1 Ty1 Facil1 Smith Jones
Org2 Facil2 Black
Facil3
234 Proj1 Org3 Ty2 Facil3 Harris Jones
Org1
393 Proj2 Org2 Ty3 Facil1 Smith Black
我可以为 1:N 字段创建一个函数来排序数据并显示不同的数据吗?我可以对字段使用“如果重复则抑制”选项,但我需要自行对 ID 中的每个字段进行排序。我不能使用group by和set groups,因为有4个1:N字段,而且它们都是相互独立的。
(过去进行分组会导致报告如下所示:
ID Project Org Type Facility AssessorManager Assessor
123 Proj1 Org1 Ty1 Facil1 Smith Jones
Black
Facil2 Jones
Black
Facil3 Jones
Black
Org2 Facil1 Jones
Black
Facil2 Jones
Black
Facil3 Jones
Black
...ETC。)
编辑...回答...我接受了 PowerUser 的回答,主要是使用他的第二个建议。我在查询中添加了字段。它仍然有重复,因为一些 1:N 字段是查询和排序字段。可能有比这里显示的更多的重复,但这就是想法。此外,我没有使用逗号分隔备注字段中的值,而是使用了返回字符。
ID Project Org Orgs Type Facility Facilities AssessorManager Assessors
123 Proj1 Org1 Org1,Org2 Ty1 Facil1 Facil1,Facil2,Facil3 Smith Jones,Black
123 Proj1 Org2 Org1,Org2 Ty1 Facil2 Facil1,Facil2,Facil3 Smith Jones,Black
123 Proj1 Org2 Org1,Org2 Ty1 Facil3 Facil1,Facil2,Facil3 Smith Jones,Black