使用MySQL。下面的两个连接工作正常:
SELECT *
FROM t1
JOIN db2.t2 AS t2
JOIN t3 ON t1.id=t3.id
WHERE 1;
但是,以下是语法错误:
SELECT *
FROM t1
LEFT JOIN db2.t2 AS t2
JOIN t3 ON t1.id=t3.id
WHERE 1;
我希望在同一个查询中使用LEFT JOIN和JOIN(SO上的LEFT JOIN
上的许多其他问题/答案到目前为止在这个问题上没有帮助)
答案 0 :(得分:1)
在您的查询中,您在第一个ON
中缺少JOIN
子句。
正如http://dev.mysql.com/doc/refman/5.0/en/join.html所述,LEFT
,RIGHT
和OUTER
联接需要有ON
条款。
应该是这样的:
SELECT *
FROM t1
LEFT JOIN db2.t2 AS t2 ON t1.id=t2.id
JOIN t3 ON t1.id=t3.id
WHERE 1;
(当然,根据您的需要调整条件)