안녕하세요
개발초보입니다.
부서 | 직책 | 수당 |
영업1팀 |
| 50000 |
영업2팀 |
| 50000 |
| 팀장 | 50000 |
| 부팀장 | 50000 |
영업3팀 | 팀장 | 50000 |
이런 테이블이 있을 때
직책상관없이 부서가 영업1팀, 2팀이거나 /
부서상관없이 직책이 팀장, 부팀장이어야
수당이 5만원 지급된다 할 때
where 조건을
부서 in (영업1팀, 영업2팀) or 직책 in (팀장, 부팀장)
주는것은 알겠는데요
여기서 영업3팀은 팀장만 준다 할때는
조건절을 어떻게 해야할까요..
case when 을 써보려했는데 도저히 떠오르지가 않습니다.
Comment 1
-
자리비움
2017.11.14 17:29
WITH T1 AS(SELECT [부서] = '영업1팀', [직책] = '', [수당] = 50000 UNION ALLSELECT [부서] = '영업1팀', [직책] = '', [수당] = 50000 UNION ALLSELECT [부서] = '', [직책] = '팀장', [수당] = 50000 UNION ALLSELECT [부서] = '', [직책] = '부팀장', [수당] = 50000 UNION ALLSELECT [부서] = '영업3팀', [직책] = '팀장', [수당] = 50000 UNION ALLSELECT [부서] = '영업3팀', [직책] = '부팀장', [수당] = 50000)SELECT *FROM T1WHERE [부서] IN ('영업1팀','영업2팀')OR [직책] = (CASE WHEN [부서] = '영업3팀' AND [직책] = '부팀장' THEN 'X'WHEN [직책] IN ('팀장','부팀장') THEN [직책]ELSE 'X' END)