我已经阅读了无数的线程,仍然不清楚
表1 :这就是我所拥有的
Key Id Field1 Field2
1 20 123 dkdf
2 20 342 fe2f
3 20 894 lol3
4 20 093 09ps
5 20 999 393d
6 20 283 amls
7 20 kol 290f
表2 :这就是我想要的
Id Field11 Field12 Field13 Field14 Field15 Field16 Field17 Field21 Field22 Field23 .....
20 123 342 894 093 999 283 kol dkdf fe2f lol3 .....
请告诉我你将如何做到这一点。
谢谢
答案 0 :(得分:1)
如果要转动上表,可以使用以下代码: -
select id, max(case when field1 = '123' then '123' end) field11,
max(case when field1 = '342' then '342' end) field12,
max(case when field1 = '894' then '342' end) field13
from try group by id;
请参阅http://sqlfiddle.com/#!4/6ef0d/5
中的测试查询我以3列为例。您可以对所有列重复相同的操作。如果您想使用Oracle pivot功能,那么您的查询中应该有聚合功能要求。