2013-07-28 4 views
0

레코드가있는 다음 테이블이 있습니다.SQL 피벗과 같은 레코드 배열

ID header  value 
1 firstname James 
1 lastname Tulan 
2 firstname Berty 
2 lastname O-Nelly 
3 firstname Ana 
3 lastname Santos 

는 내가 SQL의 PIVOT 기능을 사용하려고

id firstname Lastname 
1 James  Tulan 
2 Berty  O-Nelly 
3 Ana   Santos 

다음과 같이 레코드를 표시해야합니다. 제대로 작동하지 않았습니다. 누구도 같은 것을 만났습니까? 쌍을 식별 할 첫 번째 테이블에서 ID를 가정

+0

"그것은 제대로 작동하지 않았다"-에서 ....... 한숨 –

+3

해야 ID를 샘플 데이터는 실제로 1, 1, 2, 2, 3, 3이 될까요? –

+0

제대로 작동하지 않은 쿼리를 표시하는 방법은 어떻습니까? – Tombatron

답변

2

, 당신은 할 수 집계 :

select id, 
     max(case when header = 'firstname' then value end) as firstname, 
     max(case when header = 'lastname' then value end) as lastname 
from t 
group by id;