2012-05-16 126 views
0

我在我的項目中使用SQLite,我需要編寫SQL查詢來檢索客戶訂單的總成本。下面是該查詢:SQL腳本語法錯誤

SELECT SUM(g.cost * og.amount) 
     * (CASE om.include WHEN 0 THEN 0.0 ELSE m.markup_pct/100) total_cost 

FROM goods g JOIN orders_goods og ON g.good_id = og.good_id 
    JOIN orders_markups om ON om.order_id = og.order_id 
     JOIN markups m ON om.markup_id = m.markup_id 
       AND om.view_class_id = m.markup_id 
WHERE og.order_id = 0; 

但是當我通過sqlite3的在我的數據庫中執行上面的查詢,報告說:

Error: near line 1: near ")": syntax error 

你有什麼想法,有什麼錯的腳本?

任何幫助將不勝感激。

P.S .:我沒有附加數據庫結構,因爲錯誤是句法的,所以錯誤與DB的結構無關。

回答

3

有一個在case語句語法錯誤:它缺少END

(CASE om.include WHEN 0 THEN 0.0 ELSE m.markup_pct/100 **END**) total_cost 
+0

這麼簡單!我完全忘了CASE可能需要這樣一個分隔符。感謝您的快速回答:) – tonytony