2014-10-31 52 views
1

这里是我的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 

我在做什么错误?

+4

请访问http:/ /stackoverflow.com/a/4796911/1729885 – 2014-10-31 12:34:05

+0

[完全外部加入MySQL]可能的重复(http://stackoverflow.com/questions/4796872/full-outer-join-in-mysql) – jpw 2014-10-31 12:35:44

+0

@Neils谢谢,我得到了它! – 2014-10-31 12:56:38

回答

2

由于@Niels首先指出你没有完全加入mysql。我会建议您阅读this

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

详细的说明可以发现here以及

+0

谢谢,明白了,,, – 2014-10-31 12:57:48

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; 
+0

真棒,替代方式+1 – 2014-10-31 12:57:04

+0

@gordon Linoff this wont work ..check the second code writeup – 2014-10-31 15:40:11