데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
select * frmo DB_name where .... 하면
num bunji etc .. .. .. ..
1 234 etc ....
2 234 etc ........
3 234-1 etc ..........
위 처럼 주르륵 나오는데요 .
저것들은 한 줄로 보고 표현 하고 싶은데요 ...
그리고 한줄로 볼때 컬럼명에 숫자 또는 무언가 붙게 하고 싶구요.
가령
num bunji etc num1 bunji1 etc1 num2 bunji2 etc2
1 234 2 234 3 234-1
이런식으로요 가능 할까요?
예를 들어 num이 10을 넘지 않는다고 가정했을때 정적쿼리로
SELECT MAX(CASE WHEN NUM = 1 THEN NUM ELSE '' END) NUM1
, MAX(CASE WHEN NUM = 1 THEN BUNJI ELSE '' END) BUNJI1
, MAX(CASE WHEN NUM = 1 THEN ETC ELSE '' END) ETC1
, MAX(CASE WHEN NUM = 2 THEN NUM ELSE '' END) NUM2
, MAX(CASE WHEN NUM = 2 THEN BUNJI ELSE '' END) BUNJI2
, MAX(CASE WHEN NUM = 2 THEN ETC ELSE '' END) ETC2
...
, MAX(CASE WHEN NUM = 10 THEN ETC ELSE '' END) ETC10
FROM TABLE_NAME
이런식으로 표현할 수 있습니다.
"세로" or "가로" 검색해 보시면 더 많은 정보를 얻으실 수 있습니다.
혹 num컬럼이 즉 세로의 갯수가 일정치 않다고 하시면 동적쿼리를 사용하셔야 합니다.