我想创建一个查询,将结果排序在两个日期之间。 这在switch语句的手中。但这似乎并不奏效。MySQL SWITCH CASE多重排序
下面的简化版本(没有指定字段)
SELECT *
FROM `system_booking`
JOIN `system_address` ON `system_address`.`address_id` = `system_booking`.`booking_address`
JOIN `system_bookingprice` ON `system_booking`.`booking_id` = `system_bookingprice`.`bookingprice_link`
JOIN `system_vehicle` ON `system_vehicle`.`vehicle_id` = `system_booking`.`booking_vehicle`
JOIN `system_parkingfee` ON `system_booking`.`booking_id` = `system_parkingfee`.`parkingfee_link`
WHERE (`booking_start` LIKE ? OR `booking_end` LIKE ?)
ORDER BY (
CASE WHEN `booking_start` LIKE ? THEN `booking_start` ASC
CASE WHEN `booking_end` LIKE ? THEN `booking_end` ASC
END)
然而这产生一个MySQL错误。
您的SQL语法错误;检查对应于你的MySQL服务器版本使用近“ASC CASE WHEN booking_end
LIKE‘2015年6月1日%’,那么booking_end
A”第9行
我希望有人能告诉我正确的语法手册我做错了什么。
'ASC'当然在'CASE'语句中没有地方......它需要在_after_之后。 – CBroe