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

Home -> Community -> Mailing Lists -> Oracle-L -> RE: Basic sql

RE: Basic sql

From: Igor Neyman <ineyman_at_perceptron.com>
Date: Tue, 9 Nov 2004 16:30:33 -0500
Message-ID: <004501c4c6a3$5808ff10$2004a8c0@development.perceptron.com>


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_at_perceptron.com

-----Original Message-----
From: oracle-l-bounce_at_freelists.org
[mailto:oracle-l-bounce_at_freelists.org] On Behalf Of Stephens, Chris Sent: Tuesday, November 09, 2004 4:11 PM To: oracle-l_at_freelists.org
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!

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


--
http://www.freelists.org/webpage/oracle-l
Received on Tue Nov 09 2004 - 15:26:24 CST

Original text of this message

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