Sql server 协助执行4表联接操作

Sql server 协助执行4表联接操作,sql-server,visual-studio-2010,join,left-join,Sql Server,Visual Studio 2010,Join,Left Join,为了尽可能清楚,我的数据库中有4个表,如下所示 加入医疗队 身份证联盟(身份证) 反对 我是梅迪多 奥米蒂多(filger?) Promedios 反对 我是梅迪多 伊杜·马尔卡莫 {我要的信息} 梅迪多雷斯 我是梅迪多 ID\u药房(过滤器?) 马尔卡莫 伊杜·马尔卡莫 我当前的SQL语句 选择{Promedios.LI_1,Promedios.LF_1,Promedios.Total_1,Promedios.Qva_1,…} 从((( 连接\u Contrato\u Medi

为了尽可能清楚,我的数据库中有4个表,如下所示

  • 加入医疗队

    • 身份证联盟(身份证)
    • 反对
    • 我是梅迪多
    • 奥米蒂多(filger?)
  • Promedios

    • 反对
    • 我是梅迪多
    • 伊杜·马尔卡莫
    • {我要的信息}
  • 梅迪多雷斯

    • 我是梅迪多
    • ID\u药房(过滤器?)
  • 马尔卡莫

    • 伊杜·马尔卡莫
  • 我当前的SQL语句

    选择{Promedios.LI_1,Promedios.LF_1,Promedios.Total_1,Promedios.Qva_1,…}

    从(((

    连接\u Contrato\u Medidor左外连接 加入时的Promedios\u Contrato\u Medidor.ID\u Contrato=Promedios.ID\u Contrato)

    左外连接 Medidores ON Join_Contrato_Medidor.ID_Medidor=Medidores.ID_Medidor)

    左外连接 Marchamo ON Promedios.ID_Marchamo=Marchamo.ID_Marchamo)

    其中(Join_Contrato_Medidor.ID_Contrato=?)和(Medidores.ID_Dispensario=?)和(Join_Contrato_Medidor.ompido TRUE)

    所获得的输出:

    信息列|省略|标识|联合

  • 信息|假| 806

  • 信息|假| 806

  • 信息|假| 806

  • 信息|假| 806

  • *我想加入一个图片,但我不能这样做,直到我有更多的声誉:(*

    我现在正在加入这4个表。我目前正在获取所有需要在查询中输出的列,但问题是我只想获取其中的记录--Join_Contrato_Medidor.ompido true--而不是获取所有匹配ID_Contrato和ID_Dispensario条件的记录

    作为一个示例,我正在输出ID_Union,这是Join_Contrato_Medidor的标识字段。它用一个ID_Union标记所有记录,这恰好是4个记录中唯一一个具有ompido true的记录。此外,最近3个记录在数据库中的ompido字段设置为true在查询结果中显示false

    如果问题不清楚,请发邮件给我澄清


    提前感谢

    在我不得不再次面对这个问题之前,我一直在做其他事情。你的评论让我试着看看切换表的顺序是否可以完成这项工作,确实如此!非常感谢你


    我开始先询问Promedios表,然后NP执行其余的查询。这使我能够访问我想要的确切信息。此外,我按照此顺序创建了以下所有查询,并生成了更好的更短的查询。

    从查询中,您似乎只需要Promedios表中的数据,而Promedios表的子记录是我需要的n Join_Contrato_Medidor符合您的条件。这听起来对吗?如果我的英语很好,那将是完全正确的。Join_Contrato_Medidor表仅用于确定应包括哪些记录。从您的评论中听起来,似乎这就是问题所在:3