크로스탭 쿼리 질문 (설문 조사 집계) 0 2 2,703

by lover [Oracle 기초] [2013.10.15 19:35:48]



설문조사  집계를 하고 있습니다.

1~5번까지는 객관식 (답은 보기마다 1, ,2, 3 ,4, 5) 의 값이 있고
6~7번은 주관식이고,  내용이 있거나 null 입니다.


select empno
sum(case when questionid = '1' then answer END),
sum(case when questionid = '2' then answer END),
sum(case when questionid = '3  then answer END),
sum(case when questionid = '4' then answer END),
sum(case when questionid = '5' then answer END),
sum(case when questionid = '6' then answer END),
sum(case when questionid = '7' then answer END)

from t
group by empno


인별로 주관식 부분을 어떻게 집계할까요. 이 부분에서 수치 오류가 있습니다..
당연히 글자가 들어오는데 sum을 했으니까요...
sum(case when questionid = '6' then answer END),
sum(case when questionid = '7' then answer END)

객관식 부분만 하면 집계가 됩니다...(숫자이므로..)

union을 해야하나요.

크로스탭 처럼 이런 결과물을 얻어야 하는데 주관식 때문에 집계가 잘 안되네요.

empno    1 2    3 4   5 6 7
---------------------------------------------------------------------------------------------
홍길도   2     4     1 3   3    좋음    잘합니다
by 용근님 [2013.10.15 21:24:19]
단순 max로 바꾸면 되지 ㅇㅏㄴㅎ을까요

by lover [2013.10.16 14:54:33]

예...SUM 대신 MAX 로 하니 됩니다...^^;  감사합니다..
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입