집 >데이터 베이스 >MySQL 튜토리얼 >SQL에서 데이터 피벗을 해제하고 열 이름을 유지하려면 어떻게 해야 합니까?
"역방향" 작업은 테이블 형식 데이터를 재구성하는 데 중요한 도구입니다. 이는 데이터를 열 기반 형식에서 행 기반 형식으로 변환할 수 있습니다. 일반적인 시나리오는 원본 테이블에서 데이터와 열 이름을 추출하는 것입니다.
다양한 과목의 학생 성과를 추적하는 StudentMarks라는 다음 테이블을 살펴보세요.
姓名 | 数学 | 科学 | 英语 |
---|---|---|---|
Tilak | 90 | 40 | 60 |
Raj | 30 | 20 | 10 |
원하는 출력은 이름, 주제, 점수의 3개 열로 구성된 재구성된 테이블입니다.
姓名 | 科目 | 分数 |
---|---|---|
Tilak | 数学 | 90 |
Tilak | 科学 | 40 |
Tilak | 英语 | 60 |
이를 달성하기 위해 아래와 같이 "invert" 작업을 사용할 수 있습니다.
<code class="language-sql">select u.name, u.subject, u.marks from student s unpivot ( marks for subject in (Maths, Science, English) ) u;</code>
이 쿼리는 이름과 계정 정보를 유지하면서 StudentMarks 테이블의 데이터를 성공적으로 되돌립니다. "FOR" 절은 데이터를 추출할 열 이름을 지정합니다.
언급하신 대로 원래 쿼리에서는 이름과 분수 값이 성공적으로 바뀌었지만 계정 열이 누락되었습니다. 수정된 쿼리는 최종 선택 목록에 계정 열을 포함시켜 이 문제를 해결합니다.
이 솔루션은 테이블 형식 데이터를 재구성하는 유연한 방법을 제공하여 데이터 값과 해당 열 이름을 추출할 수 있습니다.
위 내용은 SQL에서 데이터 피벗을 해제하고 열 이름을 유지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!