2012-05-16 130 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