Хорошо, я вижу это.Вы создаете поле зарплаты под названием 's', но пока не можете ссылаться на него, потому что оно находится в том же запросе.Просто используйте тот же оператор CASE для 's' во втором операторе CASE, на который вы ссылаетесь.Здесь я удалил CAST во 2-м использовании, потому что вы хотите, чтобы оно было целым числом, а не строкой (убрал CAST, удалил одинарные кавычки вокруг чисел):
, CASE
WHEN emp_type='a' then '30'
when emp_type='b' then '20'
else '25' end as s
, case when tbl_cut.dir_date='0' or tbl_cut.nameOFmonthe_cut='2018/05' then (coalesce(work_days_cut,0)-coalesce(count(addCut_id),0))
else (coalesce(s,0)-coalesce(count(addCut_id),0) END as 'days'
, case when tbl_cut.dir_date='0' or tbl_cut.nameOFmonthe_cut='2018/05' then (((coalesce(work_days_cut,0)-coalesce(count(addCut_id),0)))*(coalesce([emp_price],0)))
else (((coalesce((CASE
WHEN emp_type='a' then 30
when emp_type='b' then 20
else 25 end),0)-coalesce(count(addCut_id),0)))*(coalesce([emp_price],0))) end as 'salary'