2009-11-09 197 views
0

我有一个查询,我不知道如何编写。我不是SQL专家,它很讨厌。我希望有人能帮助我。SQL Server - 嵌套查询

我有一个名为“Members”的表格,其中有一个用户名列表到我的网站。我需要获取属于公司内一个或多个部门的用户列表以及一个或多个管理员。具体的部门和经理由我的网站中的用户选择。我有他们选择的经理和部门名单。我也将它们解析成逗号分隔的列表。下面是我试图联系在一起的表信息摘要:

成员

  • 用户名
  • STOREID

商店

  • STOREID
  • POSTALCODE

  • POSTALCODE
  • 经理ID

经理

  • 经理ID
  • ManagerName

如何获得基于区域和用户选择经理名单上成员名单?真诚感谢您的帮助!

+0

这种“看起来像我的功课:) – 2009-11-09 21:52:39

+0

你采取什么课程?毫无疑问,这是一项家庭作业。 – 2009-11-09 21:57:47

+0

我承诺一切,它不是作业。我只是迷失在嵌套连接。 – user70192 2009-11-09 21:58:19

回答

4
Select Members.UserName 
From Members 
    Join Store On Members.StoreID = Store.StoreID 
    Join Division On Store.PostalCode = Division.PostalCode 
    Join Manager On Division.ManagerID = Manager.ManagerID 
Where Division.PostalCode In (12345, 12346) 
    And Manager.ManagerID In (1, 2, 3, 4) 
0

你说你有一个经理和部门的名单。你有ManagerID和PostalCode吗?如果是这样,您不需要加入经理表,因为这两个都可以在分工表中找到。

SELECT 
    Members.UserName 
FROM 
    Members 
    INNER JOIN 
    Store 
    ON 
     Members.StoreID = Store.StoreID 
    INNER JOIN 
    Division 
    ON 
     Store.PostalCode = Division.PostalCode 
WHERE 
    Division.PostalCode IN (Use comma delimited postal codes here) 
    AND 
    Division.ManagerID IN (Use comma delimited manager ids here)