에 수직으로 수평 테이블을 변환 나는 다음과 같은 테이블 형식이 :오라클
출력 :
A B C
--- --- ---
aa bb cc
ay bx ct
I
ID | Key | Value
-- --- -----
1 A aa
2 B bb
3 A ay
4 C cc
5 B bx
6 C ct
나는 다음과 같은 형식으로이 테이블을 변환 할 필요를 oracle 11g에서 PIVOT 함수를 찾았지만 입력 테이블의 "Key"값은 고정 값 집합이 아니며 아무거나 될 수 있습니다. 나는 또한 다른 그런 질문을 찾았지만 내 경우에는 어떻게 쿼리를 작성해야하는지 잘 모르겠습니다.
감사합니다. 감사합니다.
편집 : 솔루션에 대한
, 나는 다음과 같은 쿼리를 실행하고자하지만 IN 절의 하위 쿼리에서 나에게 오류를 제공합니다. 나는 왜 그런지 이해하지 못합니다.
Select * from (Select Key, Value, Id from tableName
pivot (max(Value) for Key IN (SELECT distinct Key from tableName)));
고마워요!
@Tom에 감사하지만 제안한대로 괄호를 사용하여 문제를 해결하지 못했습니다. 하위 쿼리가있는 Pivot에 대한 예제가없는 이유를 알지 못합니다. – OutOfMind
하위 쿼리를 사용하려면'pivot xml'을 사용해야한다고 생각합니다. xml 형식으로 출력됩니다. –
흠,하지만 xml 태그가없는 표 형식의 출력이 필요하므로 우선 하위 쿼리를 실행하고 피벗 쿼리에서 해당 결과를 사용합니다. 감사! – OutOfMind