可以不用union:select cphm, sum(decode(yllx,'汽油',jyl,0)) as jyl, sum(decode(yllx,'汽油',jyl,0)), sum(decode(yllx,'机油',jyl,0)) 
from a
group by cphm

解决方案 »

  1.   

    walkworm,哥们,多谢参与,但是我的确没分,要不是还有这一分,我连问题都问不了
      

  2.   

    呵呵,没事,我说笑呢。。
    不然我也不会回答了。。再多说一句,要是用union的话就要分两步了,得建一个中间的view,不如用decode方便。。
      

  3.   

    walkworm,您好,请问您能给小弟解释一下
    select cphm, sum(decode(yllx,'汽油',jyl,0)) as jyl, sum(decode(yllx,'汽油',jyl,0)), sum(decode(yllx,'机油',jyl,0)) 
    是身摸意思?
    decode 的含义?
      

  4.   

    decode的用法:decode(要比较的表达式 ,条件1 ,当表达式的值等于条件1时返回的值 ,条件2 ,当表达式的值等于条件2时返回的值 , ... , 当表达式不等于列表中任何一值时返回的值)
      

  5.   

    没有错啊,只是我第一次写多了一列,重新给一次:
    select cphm, sum(decode(yllx,'汽油',jyl,0)) as jyl,sum(decode(yllx,'机油',jyl,0)) as jy_jyl 
    from a group by cphm