我正在尝试使用以下sql语句加入3个表
Select
Sum(OrderDetail_table.Price * orderDetail_table.quantity) as totalPrice,
item_table.GLacct
from
OrderDetail_table
left outer join order_table on
orderDetail_table.orderID = order_table.orderid
left outer join item_table on
item_table.itemID = orderDetail_table.itemID
where
Order_table.invoiceDate = #01/31/2009#
group by
item_table.glacct
我收到的错误消息是:
“查询表达式中的语法错误(缺少运算符)'orderDetail_table.OrderID = order_table.orderid在item_table.itemID = orderDetail_table.itemID'上留下外连接item_table。”
任何帮助将不胜感激。感谢
我希望它总是返回orderDetail_table.price * orderDetail_table.quantity的总和,orderDEtail_table.ItemID可能没有item_table.GLAcct
答案 0 :(得分:0)
由于OrderDetail表始终是Order的一部分,并且每个细节始终引用一个Item,您可以用INNER JOIN替换LEFT OUTER JOIN。特别是,由于WHERE和GROUP BY子句都引用了可选表。
错误消息究竟是什么?
答案 1 :(得分:0)
尝试括号:
Select
Sum(OrderDetail_table.Price * orderDetail_table.quantity) as totalPrice,
item_table.GLacct
from
(OrderDetail_table
left outer join order_table on
orderDetail_table.orderID = order_table.orderid)
left outer join item_table on
item_table.itemID = orderDetail_table.itemID
where
Order_table.invoiceDate = #01/31/2009#
group by
item_table.glacct