我正在尝试在MS ACCESS中的同一查询中执行INNER JOIN和LEFT JOIN,这是我的查询
SELECT T2.Col1, T2.Col2, T2.Col3, TB.Col1
FROM (T2
INNER JOIN TB ON
TB.Col1 = T2.Col1 AND TB.Col2 = T2.Col2)
LEFT JOIN T1
ON (T1.Col1 = TB.Col1) AND (T1.Col2 = T2.Col2)
WHERE T1.Col1 IS NULL OR T1.Col2 IS NULL
但在(T1.Col1 = TB.Col1)`它表示不支持JOIN表达式。有人可以帮我解决这个问题。
我不想创建内部查询,然后单独创建另一个左查询
答案 0 :(得分:1)
之前的答案,自删除后,建议您从查询中删除所有括号。但是,当FROM
子句包含多个连接时,Access需要使用括号。
由于问题在于连接,因此请从仅关注它们的简单查询开始。查看此查询是否正常运行。
SELECT *
FROM
(T2
INNER JOIN TB
ON T2.Col1 = TB.Col1 AND T2.Col2 = TB.Col2)
LEFT JOIN T1
ON T2.Col1 = T1.Col1 AND T2.Col2 = T1.Col2
一旦联接正确,请将*
替换为您的字段名称,然后添加WHERE
子句。