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

Home -> Community -> Usenet -> c.d.o.misc -> Re: NOT IN

Re: NOT IN

From: Charles Hooper <hooperc2000_at_yahoo.com>
Date: Wed, 04 Jul 2007 06:26:36 -0700
Message-ID: <1183555596.780921.167530@n60g2000hse.googlegroups.com>


On Jul 4, 8:47 am, colmkav <colmj..._at_yahoo.co.uk> wrote:
> is it possible to write an SQL Oracle query where you want to check
> whether a combination of fields exist in another query
>
> eg I tried the following but got an error:
>
> select count(*) from tmp_risk_sum where book, strategy, exposuretypeid
> not in (select book, strategy, exposuretypeid from tmp_risk_sum_ORACLE)

SELECT
  COUNT(*)
FROM
  TMP_RISK_SUM
WHERE
  (BOOK,STRATEGY,EXPOSURETYPEID) NOT IN (     SELECT

      BOOK,
      STRATEGY,
      EXPOSURETYPEID
    FROM
      TMP_RISK_SUM_ORACLE);

You may find that this syntax executes more efficiently: SELECT
  COUNT(*)
FROM
  TMP_RISK_SUM S,
  (SELECT DISTINCT
    BOOK,
    STRATEGY,
    EXPOSURETYPEID
  FROM
    TMP_RISK_SUM_ORACLE) SO
WHERE
  S.BOOK=SO.BOOK(+)
  AND S.STRATEGY=SO.STRATEGY(+)
  AND S.EXPOSURETYPEID=SO.EXPOSURETYPEID(+)   AND SO.BOOK IS NULL; Charles Hooper
IT Manager/Oracle DBA
K&M Machine-Fabricating, Inc. Received on Wed Jul 04 2007 - 08:26:36 CDT

Original text of this message

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