피벗을 수행하는 데 사용하는 SQL 코드가 있습니다. 코드는 다음과 같습니다 :피벗 테이블이 동일한 ID에 대해 두 개 이상의 행을 반환합니다.
SELECT DISTINCT PersonID
,MAX(pivotColumn1)
,MAX(pivotColumn2) --originally these were in 2 separate rows)
FROM(SELECT srcID, PersonID, detailCode, detailValue) FROM src) AS SrcTbl
PIVOT(MAX(detailValue) FOR detailCode IN ([pivotColumn1],[pivotColumn2])) pvt
GROUP BY PersonID
원본 데이터에서 ID는 값을 구분하는 자체 ID가 있으므로 2 개의 개별 행을 갖습니다. 필자는 지금 피봇 팅하고 ID를 그룹화하고 피벗 열에서 집계를 사용하더라도 여전히 ID에 대해 2 개의 별도 행을 제공합니다. 코드에 무슨 문제가 있습니까?
그래서 가능한 모든 detailCode를 IN
절에 나열했습니다. 그래서 값이 없음 때 null이 반환 된 있지만 모두 1 행에 요약 된 싶습니다. 아래 이미지를 참조하십시오. 사람들은 detailCode
의 모든 옵션이있는 경우
샘플 데이터 및 예상 결과 것은 –
가'pivot'을 사용하십시오 중 하나 또는 'group by '을 사용하십시오. 그러나 함께 사용하는 것은 아닙니다. 'pivot'을 사용한다면, 두 행을 다르게 보이게하는 서브 쿼리의 컬럼을 제거해야합니다. –