日期:2014-05-18  浏览次数:20577 次

中秋快到了,求SQL语句.
有这样的数据:
Services     Vessel         POL         SI         CY           ETD  
    b2             GFSH             Sh           09-04   09-04     09-07
    b2             GFSH             HK           09-09   09-10     09-11      
    b2             SZEH             Sh           09-04   09-04     09-07  
    b2             SZEH             HK           09-09   09-10     09-11    
    c1             XFYH             HK           08-31   09-01     09-02    
    c1             XFYH             Ka           09-01   09-04     09-05  
    m2             GFSH             Sh           08-30   09-01     09-03    
    m2             GFSH             NB           09-01   09-03     09-05  
    ..
    ..

在得到这样的结果:
Services   Vessel   Sh(SI)   Sh(CY)   Sh(ETD)   HK(SI)   HK(CY)   HK(ETD)   ....  
b2               GFSH       09-04     09-04     09-07       09-09     09-10     09-11       .....
b2               SZEH       09-04     09-04     09-07       09-09     09-10     09-11    

Services   Vessel   HK(SI)   HK(CY)   HK(ETD)   Ka(SI)   Ka(CY)   Ka(ETD)   ......
c1               XFYH       08-31     09-01     09-02       09-01   09-04     09-05  

...

....

了即以Services和   Vessel   分组,然后把POL横排


------解决方案--------------------
create table xyza(Services varchar(10),Vessel varchar(10),POL varchar(10),SI varchar(10),CY varchar(10),ETD varchar(10))
insert xyza select 'b2 ', 'GFSH ', 'Sh ' , '09-04 ', '09-04 ', '09-07 '
union all select 'b2 ' , 'GFSH ' , 'HK ' , '09-09 ' , '09-10 ' , '09-11 '
union all select 'b2 ' , 'SZEH ' , 'Sh ' , '09-04 ' , '09-04 ' , '09-07 '
union all select 'b2 ' , 'SZEH ' , 'HK ' , '09-09 ' , '09-10 ' , '09-11 '
union all select 'c1 ' , 'XFYH ' , 'HK ' , '08-31