从单列数据创建多列视图

时间:2013-08-13 16:29:05

标签: mysql sql tsql

我的SQL查询得到以下结果:

EventID          P_Num  PN_NameCount1   PN_Name
ABC-I-10942683  1089213     1            Company 1
ABC-I-10942683  1326624     8            Company 2

我仍然在SQL中学习这个功能并需要一些帮助,Pivot不在这种情况下工作。

我尝试了几种不同的方法,但无法创建所需的结果:

EventID          P_Num1     PNC1    PN_Name     PNC_Num2      PNC2  PN_Name
ABC-I-10942683  1089213     1       Company     11326624        8   Company 2

EventID将根据公司的不同事件发生变化,因为EventID基于事件发生在公司的特定日期。

这只是我正在使用的500K +数据行的示例。这将进入临时表,与所需的其他各种数据相结合。

我试过这个没有成功:

  SELECT Key, 
         MAX(Col1) AS Col1, 
         MAX(Col2) AS Col2, 
         MAX(Col3) AS Col3 
    FROM table 
GROUP BY Key

1 个答案:

答案 0 :(得分:0)

select EventID 
, min(P_Num) as P_Num1, min(PN_NameCount1)  PNC1, min(PN_Name) as PN_Name1
, max(P_Num) as P_Num2, max(PN_NameCount1)  PNC2, max(PN_Name) as PN_Name2 
from table 
group by EventID  

这是对所述问题的回答。你在评论中说过你可以扩展它。