У меня проблема с моим MySQL Query, я использую этот случай, чтобы дать ему порядок сортировки. Порядок зависит от серийного номера.MySQL CASE с LIKE
Мой запрос:
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
Я получаю эту ошибку:
#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
Что я делаю неправильно?
Если вы собираетесь тратить любое время с MySQL привыкают внимательно читать сообщения об ошибках - они обычно говорят вам, где именно ошибка в вашем код. В этом случае первая ошибка относится к слову CASE, поэтому вы можете видеть, что вы пропустили запятую. Научитесь любить сообщения об ошибках. –