MySQL查询两表加入

时间:2011-06-17 17:22:28

标签: mysql sql database join

对此查询有点麻烦。我有两张桌子......

Account -
ResourceID (int)
AccountID (int) (unique auto-inc)

Resource -
TextName (varchar)
ResourceID (int) (unique auto-inc)
CompanyID (int)

我只有AccountID,我需要进行1次查询,告诉我资源表中所有记录的TextName和ResourceID,它们与帐户表中具有相同ResourceID和记录的记录具有相同的CompanyID我提供的AccountID。

这是我到目前为止已经将它缩小到只有一个条目......我甚至还没有开始尝试合并公司ID。

SELECT r.ResId, r.FirstName, r.LastName
FROM account a, resource r
WHERE a.AccId='7' AND a.ResId = r.ResId 

非常感谢任何帮助。感谢

2 个答案:

答案 0 :(得分:2)

您需要自动加入才能获得与公司共享的类似资源!

SELECT rSameCompany.ResId, rSameCompany.FirstName, rSameCompany.LastName
FROM resource r
    INNER JOIN resource rSameCompany
        ON r.CompanyID = rSameCompany.CompanyID 
    INNER JOIN account a
        ON r.ResourceID = a.ResourceID 
        AND a.AccId='7' 

答案 1 :(得分:0)

您希望Account.ResourceID = Resource.ResourceID上的LEFT JOIN