SQL连接表有两个不同的别名

时间:2014-06-20 11:58:58

标签: sql sql-server

我正在加入两个表来根据类似查询选择记录 我的第一个表结构是这样的 用户表==>

UserID fname Lname

第二张表 代理商表==>

Id AgentID ManagerId

其中AgentID和ManagerID是外键,其中包含我的第一个表的UserID 我必须根据任何经理或代理人的名字检索记录,我正在写这个

select u.UserId,u.Fname,u.Lname,a.ManagerId from User u
a left join Agents a on u.UserId=a.AgentId
where u.fname like '%anyname%'

它返回那些名字为AnyName的代理,我想返回管理器,即再次使用Users表连接代理表,但这次是在ManagerId上,我该怎么做?

1 个答案:

答案 0 :(得分:0)

我认为你正在寻找类似的东西:

select u.UserId,u.Fname,u.Lname,a.ManagerId from User u
a left join Agents a on u.UserId=a.AgentId
where u.fname like '%anyname%'

UNION

select u.UserId,u.Fname,u.Lname,a.ManagerId from User u
a left join Agents a on u.UserId=a.ManagerId
where u.fname like '%anyname%'