我有两个查询形成第三个查询(下面)。这当前有效,但我需要在一个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;
答案 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;
请不要将Query1
和Query2
替换为名称。它们用作别名。
希望它有所帮助!