MySQL加入查询结果

时间:2013-06-13 19:49:50

标签: mysql sql

我正在尝试查找第一个中不存在的第二个查询的行。但是我得到'你的SQL语法错误接近正确的连接'错误。

(SELECT t1.id AS id, t2.id, t3.id
FROM table1 t1
INNER JOIN table2 t2 ON t2.id = t1.id
INNER JOIN table3 t3 ON t3.id = t2.id
) a
RIGHT JOIN
(SELECT id
FROM table4 
WHERE col1 IS NOT NULL AND col2 IN (1, 2)) b 
ON a.id = b.id

我在这个查询中做错了什么?谢谢。

1 个答案:

答案 0 :(得分:1)

在连接查询中,必须将所有列放在第一个select语句中。查询中的第二个select语句无效。

SELECT 
  t1.id as id, t2.id, t3.id, b.id 
FROM 
   (table1 t1 
 inner join table2 t2 on t2.id=t1.id
 inner join table3 t3 on t3.id=t2.id)
 right join table4 b on t1.id = b.id
WHERE b.col1 IS NOT NULL AND b.col2 IN (1, 2))