1

我正在尝试在 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 表达式。有人可以帮我弄这个吗。

我不想创建一个内部查询,然后单独创建另一个左查询

4

1 回答 1

1

较早的答案(已删除)建议您从查询中删除所有括号。但是,当 AccessFROM包含多个连接时,它需要在子句中使用括号。

由于问题出在连接上,因此请从仅关注它们的更简单的查询开始。查看此查询是否运行无误。

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子句。

于 2013-07-12T15:48:17.543 回答