我收到错误:“From Clause中的语法错误”
我该如何解决这个问题?这是我的SQL:
SELECT INVOICE.INV_NUMBER,
PRODUCT_revised.P_DESCRIPT,
CUSTOMER.CUS_CODE,
CUSTOMER.CUS_LNAME,
CUSTOMER.CUS_FNAME,
LINE.LINE_UNITS AS [Purchase_Quantity],
LINE.LINE_PRICE AS [Unit_Price],
(Purchase_Quantity * Unit_Price) AS [Line Total]
FROM INVOICE, PRODUCT_revised, CUSTOMER, LINE
FULL JOIN INVOICE
ON INVOICE.INV_NUMBER = LINE.INV_NUMBER;
答案 0 :(得分:3)
您的FROM子句甚至不正确。您正试图混合“旧”和“新”JOIN。选择一种格式,并坚持下去。可能最好使用特别需要INNER JOIN INNER JOINS的新格式。在我下面的示例中,我假设 INNER JOIN是您想要的类型,但根据您真正尝试提取的内容可能并非如此。
此外,您缺少大多数JOIN的JOIN条件,因此此查询会吐出大量不需要的记录。
为了正确地编写包含相同表的JOIN两次(这很好,并且常见的事情),您需要对这些表进行别名,以便可以在尚未提供的JOIN条件中区分它们。
最后,很少需要FULL OUTER JOIN。即使在这种情况下需要 ,MS Access也不支持它。
所以,你最终的FROM子句看起来像这样:
FROM ((((Invoice AS INV1 INNER JOIN Product_Revisied ON <JOIN Conditions Here>)
INNER JOIN Customer ON <JOIN Conditions Here>)
INNER JOIN Line ON <JOIN Conditions Here>)
INNER-OR-OUTER JOIN Invoice AS INV2 ON <JOIN Conditions Here>)