[Date Prev][Date Next][Thread Prev][Thread Next]
[Author Index]
[Date Index]
[Thread Index]
[SQR-USERS Info]
[SQRUG Home Page]
[sqr-users] What twabbling me... NOT EXIST and DISTINCT MAX
Platform: UNIX
I have two questions with SQL related to a SQR I am working on. The SQR is
failing so I took the SQL statements out to run them directly in Oracle. The
questions are best explained by simple examples. So here goes...
Example #1, simple select
select Mb.EFFDT
FROM PS_PERS_DATA_EFFDT Mb
WHERE Mb.EMPLID = '10057607'
EFFDT
-----------
02-JUN-1997
20-DEC-2002
***********************************
Example #2, simple select with NOT EXISTS clause (there are no records in the
PS_CUSTOM)
select Mb.EFFDT
FROM PS_PERS_DATA_EFFDT Mb
WHERE NOT EXISTS (SELECT * FROM PS_CUSTOM PCR WHERE PCR.EMPLID = Mb.EMPLID)
and Mb.EMPLID = '10057607'
no rows selected
Question #1: The first example proves that there is data to be selected, but we
lose it by adding the NOT EXISTS clause. Since there are no records in PCR,
the NOT EXISTS should evaluate to true and generate the same thing as example
#1. Why do I get the result "no records selected"? Can someone help?
***********************************
Example #3, simple select using distinct and maximum
select distinct MAX(Mb.EFFDT)
FROM PS_PERS_DATA_EFFDT Mb
WHERE Mb.EMPLID = '10057607'
MAX(MB.EFFDT)
------------------------
20-DEC-2002
***********************************
Example #4, same as example #3 but with the NOT EXIST clause added (again, PCR
has no records or data).
select distinct MAX(Mb.EFFDT)
FROM PS_PERS_DATA_EFFDT Mb
WHERE NOT EXISTS (SELECT * FROM PS_CUSTOM PCR WHERE PCR.EMPLID = Mb.EMPLID)
and Mb.EMPLID = '10057607'
MAX(MB.EFFDT)
-------------------------
Note that it I get something returned but no actual data. Almost as if I
recieved a null value as a result set.
Question #2: Can someone explain what is happening here? I added the NOT
EXISTS clause to my select statement and I would think I would still return the
20-DEC-2002 (again, there are no records in PCR so the NOT EXISTS should
evaluate to a true state and Example #3 and #4 should be identical in what they
return.
Ken Boettger
boettgek@cwu.edu
http://www.cwu.edu/~boettgek
x2944
_______________________________________________
sqr-users mailing list
sqr-users@sqrug.org
http://www.sqrug.org/mailman/listinfo/sqr-users