Я хочу иметь что-то вроде этого:Mysql как использовать IN с IF в том месте где?
SELECT
p.name_en AS 'province_$lang',
p.province_code AS 'province_code_$lang',
COUNT(u.id) AS 'total_$lang',
COUNT(u.id) AS total
FROM applications AS a
LEFT JOIN users AS u on u.id = a.user_id
LEFT JOIN provinces AS p on p.province_code = u.province_code
WHERE a.progress_status IN (0,1,2,3) AND IF(a.progress_status = 2,a.denial_type ,1) IN IF(a.`progress_status` = 2,(1,2,3),1)
GROUP BY u.province_code
Пусть у меня есть два поля в таблице один из них является progress_status
, что может имеет один из этих 0,1,2, or 3
значения, а другое поле denial_type
, который может принимать 1,2, or 3
, но denial_type
только может принимать одно из этих значения, когда progress_status
равно 2. поэтому я хочу, чтобы проверить, если progress_status
является IN
0,1,2,3 и для тех записей, которые его progress_status
является 2, то его denial_type
должен быть IN
1,2,3
ли это 'выбрать query'. Также вы можете показать весь запрос? –
@MilanGupta У меня есть мой вопрос. – jones