使用CASE ... WHEN声明,我有一个艰难的世界。
我正在为公司建立一个小型数据库,我们正在查看销售订单。默认情况下,我们的跟踪系统将我们的订单分为10类,但我们主要关注3:A,B和C订单。我的代码如下:
SELECT
ORDER_NUM,
BUYER_NUM,
CREATOR_NUM
(CASE
WHEN ORDER_CD = 'A' THEN 'Part'
WHEN ORDER_CD = 'B' THEN 'Service'
WHEN ORDER_CD = 'C' THEN 'Labor'
ELSE 'Other'
) AS ORDER_TYPE
FROM tbl_ORDER
WHERE ORDER_DATE > '01-Jan-2017'
但是,我一直收到“Missing Expression”错误。有人可以帮我理解我做错了吗?
谢谢!
答案 0 :(得分:5)
您错过了END
和逗号。我还建议使用ISO标准日期格式:
SELECT ORDER_NUM, BUYER_NUM, CREATOR_NUM,
(CASE WHEN ORDER_CD = 'A' THEN 'Part'
WHEN ORDER_CD = 'B' THEN 'Service'
WHEN ORDER_CD = 'C' THEN 'Labor'
ELSE 'Other'
END) AS ORDER_TYPE
FROM tbl_ORDER
WHERE ORDER_DATE > DATE '2017-01-01';