>데이터 베이스 >MySQL 튜토리얼 >T-SQL 테이블에서 여러 열을 피벗하는 방법은 무엇입니까?

T-SQL 테이블에서 여러 열을 피벗하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2025-01-04 21:45:41956검색

How to Pivot Multiple Columns in a T-SQL Table?

여러 열에 대한 T-SQL 테이블 피벗

T-SQL에서 데이터 피벗은 테이블 구조를 변환하여 표시하는 데 유용한 기술이 될 수 있습니다. 데이터가 다릅니다. 피벗에 여러 열을 처리하는 경우 데이터 피벗을 취소하는 것이 도움이 될 수 있습니다.

다음 표를 고려하세요.

RATIO RESULT SCORE GRADE
Current Ratio 1.294 60 Good
Gearing Ratio 0.3384 70 Good
Performance Ratio 0.0427 50 Satisfactory
TOTAL NULL 180 Good

이 테이블을 피벗하여 다음과 같은 원하는 결과를 얻는 것이 목표입니다.

RATIO Current Ratio Gearing Ratio Performance Ratio TOTAL
Result 1.294 0.3384 0.0427 NULL
Score 60 70 50 180
Grade Good Good Satisfactory Good

이를 달성하려면 다음을 따르세요. 단계:

  1. 결과, 점수 및 성적 열 피벗 해제:

    UNPIVOT 기능 또는 CROSS APPLY를 사용하여 data:

    SELECT RATIO, COL, VALUE
    FROM GRAND_TOTALS
    CROSS APPLY
    (
       SELECT 'RESULT', CAST(RESULT AS VARCHAR(10)) UNION ALL
       SELECT 'SCORE', CAST(SCORE AS VARCHAR(10)) UNION ALL
       SELECT 'GRADE', GRADE
    ) C(COL, VALUE)
  2. 피벗되지 않은 데이터 피벗:

    피벗되지 않은 데이터에 PIVOT 함수 적용:

    SELECT RATIO = COL,
       [CURRENT RATIO], [GEARING RATIO], [PERFORMANCE RATIO], TOTAL
    FROM
    (
       SELECT RATIO, COL, VALUE
       FROM GRAND_TOTALS
       CROSS APPLY
       (
          SELECT 'RESULT', CAST(RESULT AS VARCHAR(10)) UNION ALL
          SELECT 'SCORE', CAST(SCORE AS VARCHAR(10)) UNION ALL
          SELECT 'GRADE', GRADE
       ) C(COL, VALUE)
    ) D
    PIVOT
    (
       MAX(VALUE)
       FOR RATIO IN ([CURRENT RATIO], [GEARING RATIO], [PERFORMANCE RATIO], TOTAL)
    ) PIV;

이렇게 하면 원하는 결과가 나올 것입니다. 여러 열이 피벗된 테이블을 제공합니다.

위 내용은 T-SQL 테이블에서 여러 열을 피벗하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.