我有三个表(示例)STAFF, STU, EMP
。
我想将表EMPID
中的列STAFF
和表EMP
合并为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
但是它显示出这样的错误
答案 0 :(得分:0)
使用以下查询获得所需结果。
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列。如果Staff emp id不为null,则将显示职员emp id,否则将显示employee emp