Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Re: NOT IN
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
![]() |
![]() |