簡體   English   中英

不支持 LEFT JOIN 表達式

[英]LEFT JOIN expression not supported

我需要使用左外連接進行查詢,如下所示,但是 Access 顯示警告對話框“不支持 JOIN 表達式”。我知道 Access 不支持嵌套在 LEFT JOIN 內的 INNER JOIN 但因為我是初學者在 SQL 中,我看不到任何其他方法可以得到相同的結果。

查詢的目標是獲取 select 中的所有內容,即使 InvoiceItems.Amount 為 null。

SELECT MainOrder.OrderNumber, OrderComponent.ArticleNumber, SupplierOrderMain.*, InvoiceItems.Amount
FROM InvoiceItems LEFT JOIN
     ((MainOrder INNER JOIN
       OrderComponent 
       ON MainOrder.OrderNumber = OrderComponent.OrderNumber
      ) INNER JOIN
      SupplierOrderMain
      ON OrderComponent.ID = SupplierOrderMain.OrderComponentID
     )
     ON InvoiceItems.OrderComponent = OrderComponent.ID;

我不確定為什么在這種情況下你會想要外部連接(你沒有解釋為什么)。 但只需從要保留所有內容並從那里開始工作的表開始:

SELECT MainOrder.OrderNumber, OrderComponent.ArticleNumber, SupplierOrderMain.*, InvoiceItems.Amount
FROM ((InvoiceItems LEFT JOIN
       OrderComponent
       ON InvoiceItems.OrderComponent = OrderComponent.ID
      ) LEFT JOIN
      MainOrder      
      ON MainOrder.OrderNumber = OrderComponent.OrderNumber
     ) LEFT JOIN
     SupplierOrderMain
     ON OrderComponent.ID = SupplierOrderMain.OrderComponentID

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM