【问题标题】:Full Join Not working完全加入不起作用
【发布时间】:2014-12-27 18:42:30
【问题描述】:

这是我的SQL Fiddle

这是我的查询:

select employee.eid, staff.acc_no from employee FULL JOIN staff on employee.eid = staff.eid

我可以加入、左加入、右加入,但不能完全加入。它说错误

Unknown column 'employee.eid' in 'field list': select employee.eid, staff.acc_no from employee FULL JOIN staff on employee.eid = staff.eid

我做错了什么??

【问题讨论】:

标签: mysql sql join myisam


【解决方案1】:

MySQL 不支持full outer join。但是,您的表应该具有正确的外键关系,因此没有必要:

select employee.eid, staff.acc_no
from employee INNER JOIN
     staff
     on employee.eid = staff.eid;

如果没有,您可以使用union all/group by 方法:

select eid, max(accno) as accno
from (select e.eid, NULL as acc_no from employee e union all
      select s.eid, s.acc_no from staff
     ) se
group by eid;

【讨论】:

  • 真棒,另一种方式 +1
  • @gordon Linoff 这不起作用..检查第二个代码编写
【解决方案2】:

正如@Niels 首先指出的那样,您在 mysql 中没有完全连接。

我建议你阅读this

但是,您可以在 UNION 运算符的帮助下模拟外连接。

详细解释也可以在here找到

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-07
    • 2014-12-18
    • 1970-01-01
    • 2021-05-01
    • 2013-08-22
    • 1970-01-01
    • 2017-12-23
    • 2011-06-06
    相关资源
    最近更新 更多