2017-02-28 145 views
0

我有兩個查詢形成第三個查詢(下面)。這是目前正在工作,但我需要在一個單一的SQL語句全部。我簡單的命名,但這是有效的我有什麼:MS Access 2013嵌套查詢

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

查詢1有由於使用了標準中的4個鏈接表和QUERY2是一個多對多的關係,查詢1個含2個表。由於LEFT JOIN的位置,我需要創建兩個單獨的查詢 - 如果使用了一個大的查詢,我不斷收到模糊的連接錯誤。

我已嘗試別名兩個查詢和使用括號,但我卡住了。我得到的錯誤是「無效的SQL語句;預計 '刪除', '插入', '程序', '選擇' 或 '更新'

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

嘗試以下操作:

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

請。不更換Query1Query2的名字。他們被用來作爲別名。

希望它可以幫助!

+0

這基本上是我用過的東西。我發現最好的方法是建立在全光照訪問的三個查詢g查詢設計並將查詢1和2中的SQL粘貼到LEFT JOIN查詢SQL查詢中的第三個查詢中,使用Query1和2的別名。我是這個論壇的新手,並且當答案到達時期待收到一封電子郵件 - t接受,所以我解決了自己。謝謝你的幫助。 – zaphodb

+0

@zaphodb也許下次它會更有用。別客氣! –