SQL将两个记录转换为两列

时间:2015-03-03 14:17:09

标签: sql oracle split pivot

我不知道标题是否正确,但基本上我需要这个(查询结果):

r_e_s_id  person_id
89074      161704
89074      161703
89095      161708
89095      161707
68651      129884
68651      129883
81512      161074
81512      161073

要插入/更新(如果表中存在r_e_s_id值)到表COMM_PROP,其中包含cols -r_e_s_id,perid1,perid2 ......就像这样:

r_e_s_id   perid1   perid2
89074      161704   161703
89095      161708   161707
68651      129884   129883
81512      161074   161073

我该怎么做?我正在使用Oracle 11g。

感谢您的帮助!!!

1 个答案:

答案 0 :(得分:1)

仅考虑2个值,即每个r_e_s_id最多1分钟和1分钟,请尝试: -

 SELECT r_e_s_id, MAX(person_id) AS  perid1, MIN(person_id) AS perid2
 FROM YOUR_TABLE
 GROUP BY r_e_s_id;