我正在使用 MS Access 2016 SQL 创建嵌套的 JOIN 子句,但似乎出现错误

问题描述

SELECT 
    (invoice.invoice_id) AS invoice_id,COUNT (line_item.code) AS code,SUM (price)
FROM
    invoice 
INNER JOIN 
    (line_item 
INNER JOIN 
    (stock_item) ON line_item.code = stock_item.code) ON invoice.invoice_id = line_item.invoice_id;

解决方法

我认为你想要的语法是:

SELECT i.invoice_id AS invoice_id,COUNT(li.code) AS code,SUM(price)
FROM (line_item as li INNER JOIN 
      stock_item as si
      ON li.code = si.code
     ) INNER JOOIN
     invoice as i
     ON i.invoice_id = li.invoice_id
GROUP BY invoice_id;

注意:我添加了表别名,以便查询更易于编写和阅读。