mssql 쿼리 질문 드립니다. 0 1 1,126

by yope [SQLServer] SQL [2021.06.22 20:45:08]


캡처.JPG (77,428Bytes)

안녕하세요.

쿼리 작성다가 좋은 방법이 안 떠올라서 적어봅니다.

 

첨부파일 캡처 한것처럼 데이터가 있을 경우 더 높은 등급의 평가자가 데이터 조회시 동일한 평가 문서의 등급과 점수가 중복된 것만큼 열을 추가 시킬려고 하는데...

동적으로 데이터가 추가 될때마다 어떻게 쿼리를 작성해야할지 하루종일 고민해도 모르겠습니다.

 

db는 mssql 입니다.

 

by 마농 [2021.06.23 08:07:04]

차수가 무한 늘어날 것 같진 않은데요?
차수별 조회쿼리를 별도로 사용하시면 될 것 같습니다.
동적쿼리로 구현하셔도 됩니다.
 

-- 1차평가자 평가지 --
SELECT 평가문서PK
     , 평가문서내용
     , MIN(CASE 평가순서 WHEN '1차평가자' THEN 등급 END) 1차_등급
     , MIN(CASE 평가순서 WHEN '1차평가자' THEN 점수 END) 1차_점수
  FROM t
 GROUP BY 평가문서PK, 평가문서내용
;
-- 2차평가자 평가지 --
SELECT 평가문서PK
     , 평가문서내용
     , MIN(CASE 평가순서 WHEN '1차평가자' THEN 등급 END) 1차_등급
     , MIN(CASE 평가순서 WHEN '1차평가자' THEN 점수 END) 1차_점수
     , MIN(CASE 평가순서 WHEN '2차평가자' THEN 등급 END) 2차_등급
     , MIN(CASE 평가순서 WHEN '2차평가자' THEN 점수 END) 2차_점수
  FROM t
 GROUP BY 평가문서PK, 평가문서내용
;

 

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