2014-10-31 82 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