안녕하세요. DB 공부하고 있는 학생입니다.
CASE 조건문을 짜고 있는데, 특정 테이블의 특정 열 전체에서 어떠한 문자열이 존재하면, 문자열을 출력하는 것을 생각하고 있습니다.
b 테이블에서 어떠한 문자열의 존재유무를 검색해야 되는데,
CASE WHEN b.search??? THEN 'no result' WHEN a.test IS NULL OR a.test='0' THEN 'post something' ELSE 'success' END AS testing
LIKE를 쓰자고 하자하니(NOT 붙여서요) 없는 부분 찾고 출력한 뒤에, 있는 부분도 찾아서 값을 두 개 출력하게 되더라구요.
그 반대도 하구요.
그래서 열 하나를 다 뒤져봐서 특정 스트링가 들어간 수를 세어본 뒤에 하는 방법은 어떤가 하는데 그것대로 잘 안되더라구요.
Comment 1
-
지영아빠
2022.01.10 12:25
문제가 요구하는 게 맞는 지 모르곘지만
케이스는 a:2 * b:2 의 케이스 같으네요.
case when charindex('b_search_word', b.search) > 0 and charindex('a_search_word', a.test) > 0 then 'a, b exists'
when charindex('b_search_word', b.search) = 0 and charindex('a_search_word', a.test) > 0 then ' only a exists'
when charindex('b_search_word', b.search) > 0 and charindex('a_search_word', a.test) = 0 then ' only b exists'
else
'not exists'
end case,