2015-06-01 19 views
5
SELECT * 
FROM case_study 
ORDER BY CASE WHEN expiry_date_case > CURDATE() THEN 1 END 
WHEN expiry_date_case IS NULL THEN 2 Desc END 
WHEN expire_date_case < CURDATE() THEN 3 Desc END; 

Khi tôi đang cố gắng để chạy truy vấn này tôi đang nhận được lỗi nhưMysql Trường hợp Cú pháp

# 1064 - Bạn có một lỗi trong cú pháp SQL của bạn; kiểm tra hướng dẫn tương ứng với phiên bản máy chủ MySQL của bạn cho đúng cú pháp để sử dụng gần 'KHI expiry_date_case IS NULL THEN 2 quyết định chấm dứt khi expire_date_case < CURDATE()' tại dòng 4


tôi ở đâu làm sai?

+3

Nếu trường hợp không kết thúc, don ' t kết thúc nó. – Strawberry

Trả lời

3

Hãy thử

SELECT * 
FROM case_study 
ORDER BY CASE WHEN expiry_date_case > CURDATE() THEN 1 
WHEN expiry_date_case IS NULL THEN 2 
WHEN expire_date_case < CURDATE() THEN 3 END Desc 

Bạn có quá nhiều End 's và Quá nhiều desc' s

1

Cập nhật truy vấn của bạn vào

SELECT * 
FROM case_study 
ORDER BY CASE WHEN expiry_date_case > CURDATE() THEN 1 
WHEN expiry_date_case IS NULL THEN 2 
WHEN expire_date_case < CURDATE() THEN 3 END Desc 

Removed rằng enddesc

Các vấn đề liên quan