繁体   English   中英

MySql外部连接错误1064

[英]MySql Outer Join Error 1064

我在尝试外部连接4个表2 x 2时遇到错误,以匹配两者之间的缺失链接,我也想显示那些没有匹配的行。

此查询工作正常:

select
  r.name    AS r,
  a.name    AS a,
  f.name    AS f
from Field f
     join Order o 
    on f.f2o = o.oid
     join Resource r 
    on r.name = o.name
     join Attribute a 
    on a.a2r= r.oid and f.name = a.name;

但是,如果我使用left或external,它将不再起作用。 这不起作用:

select
  r.name    AS r,
  a.name    AS a,
  f.name    AS f
from Field f
     join Order o 
    on f.f2o = o.oid
     join Resource r 
    on r.name = o.name
     outer join Attribute a             -- <--- here is the issue
    on a.a2r= r.oid and f.name = a.name;

返回

已执行1个查询,0个成功,1个错误,0个警告

查询:从t_m_prod_action_oitem_fld f中选择r.name AS r,a.name AS a,f.name AS f,oi.action AS操作加入t_m_prod_action_oitem oi ...

错误代码:1064您的SQL语法错误; 检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第11行“ a.attr2rfs = r.oid和f.name = a.name LIMIT 0,1000”上的“ outer join t_m_attr a”附近使用

提前致谢

没有这样的事情。 使用LEFT JOINRIGHT JOIN或使用LEFT JOIN RIGHT JOIN 集模拟FULL OUTER JOIN RIGHT JOIN

在不同的SQL方言中,JOIN的区别非常大。 有些调用联接的方式略有不同,有些则没有特定的联接,有些使用不同的语法来支持它们(例如,没有CROSS JOIN但您仍可以使用JOIN进行CROSS JOIN JOIN而无需使用ON条件)。 请务必阅读您所使用的SQL方言的文档。

有些人用outer join意味着full outer join时,其它人使用outer join作为具有三个类别leftrightfull outer连接。 但是MySQL没有full outer join

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM