Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.tools -> IF-Clause in standard SQL

IF-Clause in standard SQL

From: Alexander Kaltenbrunner <alexkalt_at_gmx.at>
Date: Tue, 27 Feb 2001 16:36:13 +0100
Message-ID: <3a9d1886$0$26348@SSP1NO25.highway.telekom.at>

Hello!

I have a litte problem with the SQL-Language

I have the following Table in my database:

IDENTNR DATE AMOUNT

1000.00  20000801   100
1000.00  20000802   200
1000.01  20000901   200
1000.02  20000928   100
1000.02  20001001   200
1000.00  20001001   200

I have also a querry that looks like the following

   SELECT

      DUAL.IDENTNR,
      SUM(DECODE(SUBSTR(DUAL.DATE,1,6),'200008',DUAL.AMOUNT)) PREV_MONTH,
      SUM(DECODE(SUBSTR(DUAL.DATE,1,6),'200009',DUAL.AMOUNT)) ACT_MONTH,
      SUM(DECODE(SUBSTR(DUAL.DATE,1,6),'200010',DUAL.AMOUNT)) NEXT_MONTH
   FROM
      DUAL
   GROUP BY
      IDENTNR
   ORDER BY
      IDENTNR;

The result is here:

IDENTNR PREV_MONTH ACT_MONTH NEXT_MONTH

1000.00         300                    200
1000.01                    200
1000.02                    100         200

But what could I do if I want to sum up everything bevore one date? Is ther a possibility of a if-clause in standard SQL like

SUM(IF(SUBSTR(DUAL.DATE,1,6)<'200008',DUAL.AMOUNT)) BEFORE, SUM(IF(SUBSTR(DUAL.DATE,1,6)>'200010',DUAL.AMOUNT)) AFTER ?

Every answer would be apprechiated! Received on Tue Feb 27 2001 - 09:36:13 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US