SELECT * FROM tt WHERE (pk3,money) IN
(SELECT pk3 ,MAX(money) FROM tt GROUP BY pk3)

解决方案 »

  1.   

    我好象没有说明白,我是想要:
    根据pk1,pk2,pk3(今年)及pk3(去年)作为条件,检索出所有的数据.
    比如,前面两条记录想合并成一条: 10   10  111   10000   20000
    后面的金额是原来两条记录的money楼上给的方法,好象实现不了.而且这样效率是不是会低啊
      

  2.   

    pk1    pk2     pk3     pk4    money   nameselect pk1,pk2,pk4,sum(decode(to_char(pk3,'yyyy'),2005,money,2004,0,0)),sum(decode(to_char(pk3,'yyyy'),2004,money,2005,0,0)) from table_name group by pk1,pk2,pk4
      

  3.   

    sum(decode(to_char(pk3,'yyyy'),2005,money,2004,0,0)),不太明白
    不过,我用了子查询,可以实现