繁体   English   中英

在SQL Server中在相同条件下联接两个表

[英]Joining Two Tables On same Condition in SQL Server

我有两个桌子, 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 

我知道不起作用,但是如何实现呢?

帮我..

您需要两次加入employeedetails ,每个都有不同的别名。 在此示例中,我使用一个完整的外部联接来显示数据(如果匹配)。 如果其他不存在,则可能会出现Null。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM