![](/img/trans.png)
[英]WHERE clause combined with - OR LOGICAL Operator in Update a column in MySQL
[英]replace the logical operator in mysql where clause
如果我想在 select 查詢的 where 子句中的某些條件下更改邏輯運算符 AND,OR 該怎么辦。
例如
select * from table t where t.column='something' AND t.column='something'
select * from table t where t.column='something' OR t.column='something'
我試過的:
select * from table t where t.column='something'
case some_variable
when some_variable='' THEN OR
ELSE AND
END
t.column='something'
但它會在 case 子句附近引發語法錯誤。 請指教。
編輯:樣本小提琴
以下已成功運行。
select
DISTINCT
`car_detail`.`car_detail_id` as "Car ID.",
`car_detail`.`status` as "Status"
FROM
`car_detail`
LEFT JOIN `car_reservation_detail` ON car_reservation_detail.car_detail_id=car_detail.car_detail_id
WHERE
(case when car_status='' then (car_detail.status='active' OR car_detail.status='reserved') OR (`car_reservation_detail`.employee_detail_id = emp_id AND (`car_detail`.`status` = 'sold' or `car_detail`.`status` = 'sure'))
else
(`car_reservation_detail`.employee_detail_id = emp_id AND `car_detail`.`status` = car_status AND `car_reservation_detail`.`status`='active')
end)
;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.