IT_SQL

Question) case when 절 IN() + like %~% 겹쳐쓰기 불가능?

soyounism 2021. 11. 12. 17:12
select 
case when buyer_nm like '%명품%' then '명품'
	 when buyer_nm like '%캐주얼%' then '의류'
	 when buyer_nm in ('타운모피', '유아동복','피혁A', '피혁B','니트단품','정장셔츠','섬유') then '의류'
	 -- like와 in을 함께쓰고 싶은데...

위 CASE WHEN절에서

 

첫번째 WHEN ->  when buyer_nm like '%캐주얼%' then '의류'

두번째 WHEN ->  when buyer_nm in ('타운모피', '유아동복','피혁A', '피혁B','니트단품','정장셔츠','섬유') then '의류'

 

이 같은 카테고리라, 두개를 합치고 싶은데 한줄에 합쳐쓸 수는 없을까요?

case when 칼럼 in ('카테고리1', '카테고리2~~, like %이것도추가하고파%) then '변환할카테고리명'

 

 

+추가...

아래 case when 절에서

case when 칼럼 in ('카테고리1', '카테고리2~~) then '변환할카테고리명'

과 같이 조건을 주었는데

 

첫번째 의류 case절에 추가로

%캐주얼%도 case절에 포함하고 싶은데 오류가 나네요

select distinct 
case when buyer_nm in ('정장셔츠','타운모피','니트단품','섬유','디자이너부띠끄', '유아동복') then '!!의류!!'
	 when buyer_nm like '%캐주얼%' then '!!캐주얼!!'	
	 when buyer_nm in ('침구수예','생활용품','가구','조리욕실','문화완구','가전','도자기크리스탈') then '!!생활!!'
	 when buyer_nm in ('기타바이어', '스포츠', '피혁A', '피혁B' ) then '!!기타!!'
	else buyer_nm 
	end
	from transactions_category_csv tcc