查询表达式 '' 中的语法错误(缺少运算符)

Syntax error (missing operator) in query expression ''

我现在几个小时都收到这个特定的错误,我仍然无法弄清楚我的 select 语句有什么问题,我正在尝试连接 3 个表。

"SELECT POItem.PO AS 'Purchase_Order', POItem.Qty AS 'Quantity', 
POItem.BCurr as 'Currency', POItem.TotalCost, PO.Vendor, Master.Desc1 
FROM PO 
LEFT JOIN POItem ON PO.ID = POItem.PO AND 
INNER JOIN Master ON Master.IPN = POItem.IPN 
WHERE POItem.IPN = '" & TextBox1.Text & "' 
ORDER BY POItem.PO DESC"

这个位置(INNER JOIN前面)有一个不需要的AND关键字。如果您删除它并在 LEFT JOIN 周围添加方括号,您的查询应该有效:

"SELECT POItem.PO AS 'Purchase_Order', POItem.Qty AS 'Quantity', 
POItem.BCurr as 'Currency', POItem.TotalCost, PO.Vendor, Master.Desc1 
FROM (PO 
LEFT JOIN POItem ON PO.ID = POItem.PO) 
INNER JOIN Master ON Master.IPN = POItem.IPN 
WHERE POItem.IPN = '" & TextBox1.Text & "' 
ORDER BY POItem.PO DESC"

顺便说一下,不要在字符串中包含 TextBox1.Text 的值,而是使用参数以避免 SQL 注入攻击。