1
SELECT 
        SUM (
            CASE
                WHEN pop.usertype=1 THEN pop.useramount
                WHEN pop.usertype=2 THEN 0-pop.useramount
            END )        
    FROM
        popular pop
;

このステートメントを DECODE 関数にどのように変換しますか?

私はこれ(および他のわずかなバリエーション)を試しましたが、常に異なる結果が得られるようです..

SELECT 
        SUM (
            DECODE(pop.usertype,'1', 'pop.useramount',
                                '2', '0-pop.useramount')
            )        
    FROM
        popular pop
;

私は DECODE 関数をよりよく理解しようとしていますが、なぜこれが機能しないのか本当に混乱していますか?

4

1 に答える 1

1

'以下のように削除してみてください

SELECT 
        SUM (
            DECODE(pop.usertype,'1', pop.useramount,
                                '2', 0-pop.useramount)
            )        
    FROM
        popular pop
;
于 2013-07-02T08:50:42.497 に答える