当您有多个 时JOIN
,Access 的数据库引擎需要使用括号。
SELECT B.*, C.* INTO Table2
FROM
(Table1 AS A RIGHT JOIN ABC AS B ON A.HKID = B.HKID)
RIGHT JOIN DEF AS C ON B.HKID = C.HKID
WHERE
A.HKID Is Null
AND B.organization Not Like '*xxx*'
AND B.adj=1
AND C.Status='Suspend';
注意我用...
RIGHT JOIN DEF AS C ON B.HKID = C.HKID
而不是你拥有它的方式......
RIGHT JOIN DEF AS C ON A.HKID=C.HKID
我必须进行更改,因为当我尝试访问时,Access 抱怨“不支持加入”ON A.HKID=C.HKID
如果这不令人满意,您将需要重新开始;我想我会以相反的顺序使用表格来解决这个问题并使用LEFT JOIN
.
此外,您创建的表 ( Table2
) 将包含名为B_HKID
and的字段C_HKID
,它们来自B.HKID
and C.HKID
。您将看到与这两个表共有的任何其他字段名称相同的模式。如果这是不可接受的,您可以单独列出字段并在需要时分配别名。
如果您安装了 Access,您应该在查询设计器中构建此查询,因为它将确保您正确设置连接以保持数据库引擎的运行。
Like
如果您没有安装 Access,并且您从 ADO 连接运行此查询,请将字符串模式中的通配符从 更改*
为%
。
AND B.organization Not Like '%xxx%'