year:年 quater:季度 quality:质量
+----+------+--------+---------+
| ID | year | quater | quality |
+----+------+--------+---------+
|  1 | 2001 |      1 |     1.2 |
|  2 | 2001 |      2 |       1 |
|  3 | 2001 |      3 |     1.1 |
|  4 | 2001 |      4 |     1.3 |
|  5 | 2002 |      1 |     0.9 |
|  6 | 2002 |      2 |     1.1 |
|  7 | 2002 |      3 |     1.4 |
|  8 | 2002 |      4 |     1.2 |
+----+------+--------+---------+要求这样显示(按四个季度)
+------+---------+---------+---------+---------+
| year | quater1 | quater2 | quater3 | quater4 |
+------+---------+---------+---------+---------+
| 2001 |     1,2 |       1 |     1.1 |     1.3 |
+------+---------+---------+---------+---------+
| 2002 |     0.9 |     1.1 |     1.4 |     1.2 |
+------+---------+---------+---------+---------+

解决方案 »

  1.   

    SELECT YEAR, SUM(DECODE (quater, 1, quality)) AS quater1,
           SUM(DECODE (quater, 2, quality)) AS quater2,
           SUM(DECODE (quater, 3, quality)) AS quater3,
           SUM(DECODE (quater, 4, quality)) AS quater4
      FROM test1
    GROUP BY YEAR
    简单的一句SQL搞定。
      

  2.   

    if, case反正就是这类的语句,结构和1楼的一样
      

  3.   

    兄弟,怎么没在SQL区里发啊,呵呵