我正在尝试查找第一个中不存在的第二个查询的行。但是我得到'你的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
我在这个查询中做错了什么?谢谢。
答案 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))