2011-05-10 6 views
0

커서를 사용하여 열을 행으로 변환하려고합니다. 나는 사람들이 커서가 옳다고 말합니다. 우리가 이것을 달성하기 위해 피벗을 사용할 수 있다는 것을 압니다. 그러나 문제는 클라이언트가 for 루프가있는 커서로 필요하다는 것입니다. 그렇게 필요한 이유는 확실하지 않지만 코드를 이해하기 쉽습니다.커서를 사용하여 열을 행으로 변환

표 A

이이 도움이 될

감사 할 수

ID Field0 
1 abc 
1 123 
1 xyz 

달성하는 방법에 대한 모든 포인터로 변환 할 필요가

ID FieldA FieldB FieldC 
1 abc  123  xyz 

Prady

+0

미안 해요 .. 그것은 그래, 나는 그것의 꽤 일부는 나를 위해 ... 그 단지 너무 복잡 단순하게 커서를 느낄 :( – Prady

+1

을 그것이 문제인 알고 ... UNPIVOT해야한다' UNPIVOT'을 사용하면'PIVOT'보다는 커서 코드가 어떻게 될지 알 수 없지만 간단하지는 않습니다. 필요한 기본 코드는'SELECT ID, Field0 FROM Table1 UNPIVOT (FieldA, FieldB, FieldC, FieldA, FieldB, FieldC) U' –

+1

입니다. 클라이언트가 원하는 것이 반드시 필요한 것은 아닙니다 ...이를 염두에 두십시오. 80486 CPU에서 실행되는 새로운 서버 시스템이 필요하다고 말할 수 있습니다.하지만이를 수행 할 수는 있지만 가장 좋은 솔루션은 아닙니다. – JNK

답변

3

왜 단순히 :

select ID, FieldA as Field0 from TableA 
union all 
select ID, FieldB from TableA 
union all 
select ID, FieldC from TableA 
+0

그게 꽤 재미 있어요 ... 그게 그렇게 간단 할 수도 있다는 걸 알지 못했지만 .. 클라이언트는 커서에 확고한 것처럼 보입니다. – Prady

관련 문제