CASE WHEN 其实相当于产生了一个列,最后WHERE 再按那个列来限定
SELECT * AS A FROM TB WHERE CASE WHEN 1=1 THEN 1 ELSE 0 END =1
-- 等价于
SELECT * FROM (SELECT * ,CASE WHEN 1=1 THEN 1 ELSE 0 END AS A FROM TB) T WHERE A=1
CASE WHEN 其实相当于产生了一个列,最后WHERE 再按那个列来限定
SELECT * AS A FROM TB WHERE CASE WHEN 1=1 THEN 1 ELSE 0 END =1
-- 等价于
SELECT * FROM (SELECT * ,CASE WHEN 1=1 THEN 1 ELSE 0 END AS A FROM TB) T WHERE A=1