我有下表带有记录。
ID header value
1 firstname James
1 lastname Tulan
2 firstname Berty
2 lastname O-Nelly
3 firstname Ana
3 lastname Santos
我需要按如下方式显示记录
id firstname Lastname
1 James Tulan
2 Berty O-Nelly
3 Ana Santos
我尝试使用SQL PIVOT功能。它没有正常工作。有人遇到过同样的问题吗?
答案 0 :(得分:2)
假设第一个表中的ID确实标识了对,您可以只进行聚合:
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;