我想从T-SQL中使用以下查询转换
SELECT
*
FROM
A LEFT JOIN
B ON A.field1 = B.field1 LEFT JOIN
C ON C.field1 = A.field2 AND
C.field2 = B.field2
到Jet SQL。
现在,MS Access不接受不明确的查询。 我怎样才能做到这一点? 我不能把在第二比较WHERE
子句。 为什么? 因为我的情况是,我选择的是不存在C.记录
如何选择一个表中的所有记录不另一个表存在吗?
现在,你怎么在MS访问? 在此先感谢您的时间和专业知识。
你需要一个派生表,使在MS Access这项工作:
SELECT *
FROM (
SELECT A.Field1, A.Field2 As A2, B.Field2
FROM A
LEFT JOIN B ON A.field1 = B.field1) AS x
LEFT JOIN C ON x.A2 = C.field1 AND x.field2= C.field2
从帮助LEFT JOIN,RIGHT JOIN操作
你可以在条款链接多个。 见第联在内部加入讨论的话题,看看如何做到这一点。
您也可以链接多个ON子句的JOIN语句,使用的语法如下:
SELECT fields
FROM table1
INNER JOIN table2 ON table1.field1 compopr table2.field1
AND ON table1.field2 compopr table2.field2)
OR ON table1.field3 compopr table2.field3)];
但工程这(似乎有帮助的错误):
SELECT *
FROM A
LEFT JOIN B ON A.field1 = B.field1
LEFT JOIN C ON (C.field1 = A.field2 AND C.field2 = B.field2)