【问题标题】:Joining Two Tables On same Condition in SQL Server在 SQL Server 中以相同条件连接两个表
【发布时间】:2015-12-07 05:06:09
【问题描述】:

我有两张桌子cafedetailsemployeedetails

  • cafedetails 有cafemanagerid 和staffid 列
  • employeedetails 有列employeeid,employeename

我想了解详细信息

cafemanagerid, name, staffid, name

我的查询:

select 
    cafemanagerid, employeename as cafemanagerName, 
    staffid, employeename as staffname
from 
    cafedetails, employeedetails
where 
    cafemanagerid = employeeid 
    and staffid = employeeid 

我知道不工作,但如何做到这一点?

帮帮我..

【问题讨论】:

标签: sql sql-server sql-server-2008 join


【解决方案1】:

您需要加入employeedetails 两次,每次使用不同的别名。 在此示例中,我使用完全外连接来显示数据(如果两者匹配)。 Nulls 可能出现的是其​​他不存在的。

SELECT 
    cd.cafemanagerid,
    cafe.employeename AS cafemanagerName,
    cd.staffid,
    staf.employeename AS staffname 
FROM 
    cafedetails AS cd
    FULL OUTER JOIN employeedetails AS cafe ON cd.cafemanagerid = cafe.employeeid
    FULL OUTER JOIN employeedetails AS staf ON cd.staffid = staf.employeeid

如果您想要两者都存在的行,则将 FULL OUTER JOIN 更改为 INNER JOIN

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-10
    • 1970-01-01
    • 2015-09-18
    • 2016-07-22
    • 2015-02-24
    • 1970-01-01
    • 2022-10-03
    相关资源
    最近更新 更多