带有FULL JOIN MySQL关键字的'on子句'中的未知列

时间:2011-09-07 14:55:33

标签: mysql

我在MySQL中使用FULL JOIN关键字有问题

SELECT Name,Surname,Notes.Payment FROM Persons FULL JOIN Notes ON  Persons.id=Notes.P_Id

它给了我这个错误:

Unknown column 'Persons.id' in 'on clause'

但如果我使用LEFT JOIN或RIGHT JOIN调用,结果会正确显示。

FULL JOIN有什么问题?

谢谢

1 个答案:

答案 0 :(得分:7)

MySQL(尚未)支持FULL JOIN

使用类似的东西:

  SELECT Name, Surname, Notes.Payment 
  FROM Persons 
    LEFT JOIN Notes 
      ON Persons.id = Notes.P_Id
UNION ALL
  SELECT Name, Surname, Notes.Payment 
  FROM Persons 
    RIGHT JOIN Notes 
      ON Persons.id = Notes.P_Id
  WHERE Persons.id IS NULL

您得到的错误是因为FROM Persons FULL JOIN Notes ON被解析为:

FROM Persons AS FULL 
  JOIN Notes
    ON ...