Sql 使用其他查询结果筛选查询结果

Sql 使用其他查询结果筛选查询结果,sql,sql-server,Sql,Sql Server,我有一个查询结果集,其中包含我需要过滤的数据,但是,过滤数据包含在另一个表中,而且该过滤表链接到另一个包含过滤器分组的表。更进一步,分组表包含可能为空的字段,我需要忽略这些字段。我还需要根据groups表对结果进行分组。你知道解决这个问题的最佳方法吗 起始数据表 MYID NAME ADDRESS AGE 1 FRED 123 SECOND ST 12 2 JILL 321 FIRST ST 6 3 JOE 54 THIRD

我有一个查询结果集,其中包含我需要过滤的数据,但是,过滤数据包含在另一个表中,而且该过滤表链接到另一个包含过滤器分组的表。更进一步,分组表包含可能为空的字段,我需要忽略这些字段。我还需要根据groups表对结果进行分组。你知道解决这个问题的最佳方法吗

起始数据表

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人员可以帮助我。我对回答有点困惑

您需要使用一些连接,比如:

SELECT SetTbl.SetID, GroupTbl.GROUP_ID, ResultsTbl.Name, ResultsTbl.Age, ResultsTbl.Address, GroupTbl.MYID
FROM ResultsTbl INNER JOIN GroupTbl
        ON (ResultsTbl.MYID = GroupTbl.MYID OR ResultsTbl.AGE BETWEEN GroupTbl.AGEFROM AND GroupTbl.AGETO)
     INNER JOIN SetTbl
        ON GroupTbl.GROUP_ID = SetTbl.GROUP_ID
你的问题不清楚,所以我不能肯定这是一个答案。关于使用stackoverflow,请采纳以下建议:

  • 丢掉“提前感谢您的帮助”这句话,它很好,但不属于这里
  • 您应该尝试解决问题,然后来stackoverflow解释您尝试了什么以及您遇到的具体问题

一般来说,您应该仔细阅读FAQ并严格遵守其指导原则。这样stackoverflow对您和其他人都非常有用

说真的,你需要澄清你需要什么。展示一个输出应该是什么的示例,这样我们就可以更好地理解您想要的东西。ree,使用示例过滤器和示例结果将非常有用。我想您需要为集合和组建立一个过滤器,然后显示与这两个过滤器匹配的结果。我想这就是你的意思,但写下答案还不够清楚。我用应用过滤器的预期结果更新了问题。这有帮助吗?那将是期望的输出到什么输入?如果我理解你的意思,你需要过滤。那么,过滤是什么呢?回复:你删除的评论。stackoverflow充满了愿意提供帮助的优秀SQL人员,但是这里没有人会花太多时间猜测某人的问题是什么。我没有否决你的问题,但是另外两个人认为这个问题不清楚或者没有显示出任何研究成果。你是新来的,至少编辑了你的问题,以包括所需的输出,所以我投赞成票。关于你的问题,你需要加入表格。为了进一步帮助您,您需要发布到目前为止编写的sql。这将是一个适当的起点,给你一个真正的帮助。谢谢你的回应!这个答案引导我朝着正确的方向前进。我的困惑是如果表没有外键,在哪里加入。在靶场上使用连接帮助了我。谢谢