我有2个表A和B.我想创建第三个表C.C必须包含A中但不在B中的每个记录,以及A和B中的每个记录。
我尝试了以下内容:
SELECT A.* INTO C FROM (A INNER JOIN B ON A.Id = B.Id) LEFT JOIN B ON A.Id = B.Id WHERE B.Id IS NULL;
但是它给了我错误消息:JOIN expression not supported.
当只有INNER JOIN
或LEFT JOIN
时,它才能完美运行。但由于某些原因,当我将两者与括号结合使用时,它不起作用。
我相信我正在使用MS-Access 2013,如果这有帮助的话。 顺便说一句,我是一个Access和一个SQL新手。
答案 0 :(得分:0)
正确的逻辑是:
SELECT A.* INTO C
FROM A LEFT JOIN
B
ON A.Id = B.Id
WHERE B.Id IS NULL;
您不需要两个连接。我猜你的查询问题是B
子句中FROM
出现两次,没有表别名。 MS Access不知道第二个B
引用的内容。