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