繁体   English   中英

如何合并来自不同表的具有相同名称但在SQL Server中具有不同值的两列

[英]How to combine two columns from different tables that have a similar name but have different values in SQL Server

我有三个表( 示例STAFF, STU, EMP

表

我想将表STAFF和表EMP的列EMPID合并为1列?

我以前的查询是这样的,

SELECT *
FROM STU s 
FULL OUTER JOIN STAFF st ON st.STAFFID = STUID 
FULL OUTER JOIN EMP e ON s.STUID = st.EMPID

结果是这样的

结果

预期的结果与上面的屏幕截图一样,但是我只想将EMPID加入一列。

更新

我尝试使用此查询:

SELECT 
    stu.stuid, stu.stuname, stu.stucode,
    s.staffid, s.staffname, s.staffcode,
    emp.empname, emp.empcode, 
    COALESCE (emp.empid, staff.staffid) AS col
FROM 
    STU, Staff, EMP 
FULL OUTER JOIN 
    STAFF s ON s.STAFFID = stu.STUID
FULL OUTER JOIN  
    EMP e ON stu.STUID = s.EMPID

但它显示这样的错误

错误

使用以下查询可获得所需的结果。

SELECT s.StuID, s.StuName, s.Stucode, st.StaffId, st.StaffName, st.Staffcode, isnull(st.EmpId, e.EmpId) EmpId, e.EmpCode, e.EmpName
FROM STU s FULL outer JOIN
     STAFF st
     ON st.STAFFID = STUID FULL OUTER JOIN
     EMP e
     ON s.STUID = st.EMPID

注意:您将根据需要获得一个emp Id列。 如果职员emp id不为null,则将显示职员emp id,否则将显示职员emp id

暂无
暂无

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

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