数据如下:
    F_YP_ID F_ITEM_CODE   F_CS_CODE F_CS_NO F_AVG_CS ID
1859412 91      19          1 饱和烃 8685
1859412 91      20          1 -32.156 8686
1859412 91      19          2 芳烃 8687
1859412 91      20          2 -32.133 8688
1859412 91      19          3 非烃 8689
1859412 91      20          3 -32.121 8690
         1859413 91      19          1 饱和烃 8689
1859413 91      20          1 -32.100 8690我想要的效果是
F_YP_ID F_CS_NO F_AVG_CS1  F_AVG_CS2
1859412  1        饱和烃     -32.156
1859412  2        芳烃       -32.133
1859412  3        非烃       -32.121
1859413  1        饱和烃     -32.100
也就是相同F_YP_ID的相同F_CS_NO的FAVG_CS下的名称与值对应上。

解决方案 »

  1.   

    SELECT T1.F_YP_ID ,T1.F_CS_NO , T1.F_AVG_CS1 , T2.F_AVG_CS2 
    FROM (SELECT * FROM TABLE WHERE F_CS_CODE=19)  T1,(SELECT * FROM TABLE WHERE F_CS_CODE=19) T2
    WHERE T1.F_YP_ID =T2.F_YP_ID AND T1.F_CS_NO =T2.F_CS_NO 
      

  2.   

    SELECT F_YP_ID,
           F_CS_NO,
           MAX(DECODE(F_CS_CODE, 19, F_AVG_CS)) F_AVG_CS1,
           MAX(DECODE(F_CS_CODE, 20, F_AVG_CS)) F_AVG_CS2
      FROM 表名
     GROUP BY F_YP_ID, F_CS_NO
     order by F_YP_ID;
      

  3.   


    SELECT F_YP_ID,
           F_CS_NO,
           MAX(DECODE(F_CS_CODE, 19, F_AVG_CS)) F_AVG_CS1,
           MAX(DECODE(F_CS_CODE, 20, F_AVG_CS)) F_AVG_CS2
      FROM 表名
     GROUP BY F_YP_ID, F_CS_NO
     order by F_YP_ID;这个可以