【问题标题】:SQL Query for Inner Join内部联接的 SQL 查询
【发布时间】:2014-12-19 11:10:48
【问题描述】:

共有三个表Master,Regular和Customer。

我将 ControlId 保存在 Master 和 Regular 的客户主数据中。我想从客户记录中获取 Master 的 Profile。

通过使用下面的查询。我可以从常规获取 MasterID 但我想要 Profile。

查询

select * from customer where refId='R000003'
    (select ControlId from regular where LicenseId='R000003')

结果

主表

常规表

我的查询是..

SELECT        Customer.CustomerId, Regular.LicenseId, Regular.ControlId, 
              Master.FullName, Master.profile
FROM          Customer INNER JOIN
              Regular ON Customer.RefId = Regular.LicenseId INNER JOIN
              Master ON Regular.ControlId = Master.MasterId                            
WHERE        (Customer.RefId = 'R000003') 

但它显示 Regural 的唯一我想要的大师记录也......

【问题讨论】:

  • 实际上它不是一个内部查询示例。给我您需要的详细查询。就像您想要从 refid 将遇到的客户到特定 masterid 的所有记录。如果是,请尽快回复。

标签: sql sql-server-2008 sql-server-2008-r2


【解决方案1】:

这是你的意思吗?我不确定..

select regular.ControlId, master.profile
from regular r inner join master m ON (r.controlId = m.masterId)
where regular.LicenseId='R000003'

【讨论】:

    【解决方案2】:

    发布您的数据图像没有帮助。没有人会输入这个。 粘贴示例。

    【讨论】:

    • 这应该是一条评论 ;)
    【解决方案3】:

    我猜RefIdLicenseId 互相指代。我认为这是您想要的查询:

    select c.*, m.profile
    from customer c join
         regular r
         on c.refId = r.LicenseId join
         master m
         on r.controlId = m.MasterId;
    

    我会建议你修理你的桌子。不同表中的连接键应该具有相似的名称,这样您就知道它们排成一行。事实上,我几乎总是将我的连接键命名为“Id”,所以这个查询看起来更像:

    select c.*, m.profile
    from customer c join
         regular r
         on c.CustomerId = r.CustomerId join
         master m
         on r.MasterId = m.MasterId;
    

    【讨论】:

    • 每个人都有不同的方法。我相信保持相同的名称,但它的旧项目。我正在使用它来获得结果... @Gordon Linoff SELECT Customer.CustomerId, Regular.LicenseId, Regular.ControlId, Master.FullName, Master.profile FROM Customer INNER JOIN Regular ON Customer.RefId = Regular.LicenseId INNER JOIN Master ON Regular.ControlId = Master.MasterId WHERE (Customer.RefId = 'R000002')
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-28
    • 1970-01-01
    • 2012-12-12
    • 1970-01-01
    • 2013-10-20
    • 1970-01-01
    相关资源
    最近更新 更多