SQL Server 2000의 데이터 피벗: 자세한 설명
SQL Server 2000은 사용자가 데이터를 변환할 수 있는 피버팅이라는 강력한 기능을 제공합니다. 행 기반 형식을 열 기반 형식으로 변경합니다. 이는 여러 열에 걸쳐 데이터를 요약하거나 데이터의 매트릭스 보기를 생성해야 하는 시나리오에 유용할 수 있습니다.
문제 설명:
특정 사례에서 사용자에게 두 개의 테이블이 있습니다:
사용자에게는 MetaValue 열을 피벗하는 결과 집합이 필요합니다. Products 테이블의 ProductId 및 Name 열을 행으로 사용하여 MetaKey 열을 기반으로 하는 Product Meta 테이블에서 headers.
최적 솔루션:
이 변환을 달성하려면 다음 SQL 쿼리를 사용할 수 있습니다.
SELECT P.ProductId, P.Name , MIN(CASE WHEN PM.MetaKey = 'A' THEN PM.MetaValue END) AS A , MIN(CASE WHEN PM.MetaKey = 'B' THEN PM.MetaValue END) AS B , MIN(CASE WHEN PM.MetaKey = 'C' THEN PM.MetaValue END) AS C FROM Products AS P JOIN ProductMeta AS PM ON PM.ProductId = P.ProductId GROUP BY P.ProductId, P.Name
설명:
참고:
이 시나리오에서는 행이 올바르게 그룹화되도록 하려면 GROUP BY 절을 사용하는 것이 필수적입니다. GROUP BY 절을 사용하지 않으면 시차가 있는 결과가 발생합니다. 또한 GROUP BY 절에 포함되지 않은 각 열은 집계 함수(이 경우 MIN())로 래핑되어야 합니다.
위 내용은 행 기반 데이터를 열 기반 형식으로 변환하기 위해 SQL Server 2000에서 데이터를 어떻게 피벗할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!