我想有这样的事情:Mysql如何在IF中使用IN in where子句?
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