MS Access 2013嵌套查询

时间:2017-02-28 08:10:04

标签: sql ms-access

我有两个查询形成第三个查询(下面)。这当前有效,但我需要在一个sql语句中完成所有操作。我简化了命名,但这实际上就是我所拥有的:

SELECT Query1.Field1, Query2.Field2
FROM Query1 LEFT JOIN Query2 ON Query1.PK1 = Query2.PK2
ORDER BY Query1.Field1;

由于使用了Criteria,Query1有四个链接表,而Query2是包含2个表的Query 1的多对多关系。由于LEFT JOIN的位置,我需要创建两个单独的查询 - 如果使用了一个大查询,我会一直出现模糊的连接错误。

我尝试使用括号对两个查询进行别名,但是卡住了。我得到的错误是"无效的SQL语句;预期' DELETE',' INSERT',' PROCEDURE' SELECT' SELECT'或者'更新'。

Query1: (SELECT ....)
FROM ....
Query2: (SELECT ....)
FROM ....
WHERE ....
ORDER BY ....
SELECT [Query1].Field1, [Query2].Field2
FROM [Query1] LEFT JOIN [Query2] ON [Query1].Field1 = [Query2].Field2;

1 个答案:

答案 0 :(得分:0)

尝试以下方法:

SELECT [Query1].Field1, [Query2].Field2
FROM 
(
paste first query here
) [Query1]
LEFT JOIN 
(
paste second query here
) [Query2] ON [Query1].Field1 = [Query2].Field2;

请不要将Query1Query2替换为名称。它们用作别名。

希望它有所帮助!