SQL case문 질문있습니다.
조회수 1589회
sql문은 처음 접해 궁금한점이 있습니다. 조건 식 설정할때 case문을 사용하는걸 알았는데
CASE 컬럼명 | 표현식 WHEN 조건식1 THEN 결과1
WHEN 조건식2 THEN 결과2
.......
WHEN 조건식n THEN 결과n
END 값
이렇게 참고하여 만들었습니다.
select a,
case when test = '1' then test_time1 end value1,
case when test = '1' then test_time1 else test_time2 end value2,
from test_table where and test ='1' order by value1
이렇게 했는데 궁금한게 case test ='1' 값이 0일때도 값을 표현해야하는데 예)
a value1 value2
-----------------------------------------------------
1 xx:xx xx:xx:xx 1값
2 None xx:xx:xx 0값
이렇게 나오게 하려면
from test_table where and test ='1' order by value1
이문장은 수정해야하는데... test='1'값을 0으로 바꾸면 0값은나오는데 1값이 안나오고 ㅜㅜ;; or test = '0' 이렇게 추가해도 마찬가지인데... 지도 부탁드립니다. ㅜㅜ
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
test가 1일때에는 (value1, value2)를 test가 0일때에는 (None, value2)를 조회되게 만들고 싶다는건가요?
그렇다면 다음 쿼리를 사용해보세요.
CREATE TABLE IF NOT EXISTS `test_table` ( `a` int(6) unsigned NOT NULL, `test` int(3) unsigned, `value1` int(3) unsigned, `value2` int(3) unsigned, PRIMARY KEY (`a`) ) DEFAULT CHARSET=utf8; INSERT INTO `test_table` (`a`, `test`, `value1`, `value2`) VALUES ('1', '1', '1', '2'), ('2', '0', '1', '3'); select a, case when test = '1' then value1 else 'None' end, value2 from test_table where test in ('0', '1')
위 코드는 http://sqlfiddle.com 에서 실행해볼 수 있습니다.
댓글 입력