sed '/[Cc][aA][sS][eE] [wW][Hh][Ee][Nn]/{
:1
/[eE][nN][dD] [aA][sS]/!{
N;b1
}
s/[Cc][aA][sS][eE] [wW][Hh][Ee][Nn] \([^ ]*\).*[eE][nN][dD]\( [aA][sS]\)//
}'
Com o GNU sed
(que você parece estar usando), isso pode ser simplificado para:
sed -E '/case when/I{
:1
/end as/I!{
N;b1
}
s/case when ([^ ]*).*end( as)//I
}'
(que não assume mais do que uma instrução case
em uma única linha).
Seria muito mais fácil com perl
:
perl: perl -0777 -pe 's/case when (\w+) in.*?end as /$1 as /gis'
(note que esse comando absorve toda a entrada na memória, o que pode ser uma preocupação para arquivos enormes).