2009-04-16 148 views
0
有語法錯誤

我想加入3代表與下面的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.itemID = orderDetail_table.itemID'左邊的外部連接item_table。「

任何幫助,將不勝感激。由於

我想它總是返回orderDetail_table.price的總和* orderDetail_table.quantity,有可能不是一個item_table.GLAcct一個orderDEtail_table.ItemID

+1

你能扔了一些換行到我們的代碼? – 2009-04-16 13:43:06

+2

錯誤消息可能也有幫助。 – 2009-04-16 13:46:49

回答

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 
0

由於的OrderDetail表始終是一個訂單的一部分,並且每個細節始終引用一個Item,則可以用INNER JOIN替換LEFT OUTER JOIN。尤其是,由於WHERE和GROUP BY子句都引用可選表。

什麼是錯誤信息?