MySQL CASE与LIKE

use*_*483 -2 mysql sql case sql-like

我的MySQL查询有问题,我正在使用这个案例给它一个排序顺序.订单取决于序列号.

我的查询是:

    SELECT DISTINCT id, price, itemnr, itemnr_ori, link, name, setinfo 
CASE WHEN itemnr_ori LIKE '%-%-s%' THEN 0 WHEN itemnr_ori LIKE 'z-%-%' THEN 1
 WHEN itemnr_ori LIKE 'ak-%' THEN 2
 WHEN itemnr_ori LIKE 'fdc-%' THEN 3
 WHEN itemnr_ori LIKE 'max-%' THEN 4
 ELSE 5 END
 AS sort_order FROM items2 WHERE category1 = 'Overige' AND category2 = 'Afrikaanse Overige' ORDER BY sort_order ASC, price ASC, itemnr_ori ASC
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CASE WHEN itemnr_ori LIKE '%-%-s%' THEN 0 WHEN itemnr_ori LIKE 'z-%-%' THEN 1 WH' at line 1
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Jus*_*Pup 5

你错过了一个逗号,就像这样

setinfo,
CASE WHEN .. END
Run Code Online (Sandbox Code Playgroud)