RE: Basic sql

  • From: "Igor Neyman" <ineyman@xxxxxxxxxxxxxx>
  • To: <ChrisStephens@xxxxxxx>, <oracle-l@xxxxxxxxxxxxx>
  • Date: Tue, 9 Nov 2004 16:30:33 -0500

SELECT COUNT(*) FROM a
  WHERE EXISTS (SELECT *
      FROM b
        WHERE a.unit_id = b.unit_id
          and a.op_year = b.op_year
          and extract(month from a.op_date) BETWEEN (3*b.qtr - 2) and
3*b.qtr
/


Igor Neyman, OCP DBA
ineyman@xxxxxxxxxxxxxx



-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Stephens, Chris
Sent: Tuesday, November 09, 2004 4:11 PM
To: oracle-l@xxxxxxxxxxxxx
Subject: Basic sql

Well I've had my coffee and I still can't get this to work:

SELECT COUNT(*) FROM a
      WHERE EXISTS (SELECT *=20
                      FROM b
                        WHERE a.unit_id =3D b.unit_id
                        and a.op_year =3D b.op_year
                        and extract(month from a.op_date) BETWEEN  CASE
                            WHEN b.qtr =3D 1 THEN 1 AND 3
                            WHEN b.qtr =3D 2 THEN 4 AND 6
                            WHEN b.qtr =3D 3 THEN7 AND 9
                            WHEN b.qtr =3D 4 THEN 10 AND 12
                          END)
/

I've tried several variations of this (all that I can think of)i.e.
quotes and parenthesis in all kinds of places, case to build entire last
filter instead of just the '1 and 3' pieces. and it always returns:

ERROR at line 7:
ORA-00905: missing keyword

9.2 on windows

What simple thing am I missing now?

Thank you for the extra eyes!
--
//www.freelists.org/webpage/oracle-l


--
//www.freelists.org/webpage/oracle-l

Other related posts: