【问题标题】:SQL joining table with two different alias具有两个不同别名的 SQL 连接表
【发布时间】:2014-08-11 04:21:19
【问题描述】:

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

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 的代理,我也想返回经理,即再次使用用户表加入代理表,但这次是在 ManagerId 上,我该怎么做?

【问题讨论】:

  • 尝试两个选择语句的union
  • 好像是想先根据 AgentsID 加入两张表,再根据 ManagerID 加入两张表,再合并。对吗?
  • @ncdreamy 是的,你没看错
  • @NikhilTalreja 让我试试

标签: sql sql-server


【解决方案1】:

我认为您正在寻找这样的东西:

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%'

【讨论】:

    猜你喜欢
    • 2011-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-25
    • 2019-09-22
    • 2021-07-08
    • 2017-06-18
    • 1970-01-01
    相关资源
    最近更新 更多