我有一个查询结果集,其中包含我需要过滤的数据,但是,过滤数据包含在另一个表中,而且该过滤表链接到另一个包含过滤器分组的表。更进一步,分组表包含可能为空的字段,我需要忽略这些字段。我还需要按组表对结果进行分组。关于解决这个问题的最佳方法的任何想法?
起始数据表
MYID NAME ADDRESS AGE
1 FRED 123 SECOND ST 12
2 JILL 321 FIRST ST 6
3 JOE 54 THIRD ST 4
过滤表
--Group: table that is keyed via xref to Set table
GROUP_ID AGEFROM AGETO MYID
1 3 7 NULL
2 NULL NULL 2
--Set: table that is xrefed to group table
SET_ID NAME
5 SET1
6 SET2
--Xref: table connecting Set and Group
SET_ID GROUP_ID
5 1
5 2
6 1
使用过滤表作为过滤条件查询起始数据表的期望输出
SET GROUP NAME AGE ID ADDRESS
5 1 JILL 6 NULL 321 FIRST ST
5 1 JOE 4 NULL 54 THIRD ST
5 2 JILL NULL 2 321 FIRST ST
6 1 JILL 6 NULL 321 FIRST ST
6 1 JOE 4 NULL 54 THIRD ST
重申我的需要:我需要输出按组表内容过滤的第一个表的结果,然后考虑到组表中可能的空值以及数据范围,按设置表进行分组。有道理?
实现这一结果的最佳方法是什么?
谢谢你的输入。我有点困惑,为什么我的请求被认为是不完整的并且上面有负分……我提供了包含要过滤的数据的表格示例,然后提供了其他三个包含过滤数据的表格。我什至后来提供了预期的输出。我正在尝试就能够过滤/搜索数据库并使用过滤数据库作为标准将数据过滤到所需输出的方向获得一些帮助。我认为这里有很棒的 SQL 人员可以帮助我。我对回复有点困惑