× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Caveat emptor!!

Remember that NOT EXISTS, as well as NOT IN, forces a table scan - you can't tell if something is not there unless you look at everything. Learned this at the last COMMON, I think.

Now probably and EXCEPTION JOIN can do better, IF you have supporting indexes.

Regards
Vern

-------------- Original message --------------
From: "DeLong, Eric" <EDeLong@xxxxxxxxxxxxxxx>

Hi Doug,

Sounds line a job for EXCEPTION JOIN......
Select detl.* from detl exception join hdr on (detl.key=hdr.key)

though there are many other alternatives....
Select detl.* from detl where not exists (select * from hdr where
hdr.key = detl.key)

The second version, using the "not exists" clause is actually the more useful of
the two solutions, because it is compatible with other SQL verbs beside
SELECT.... For example, if you wanted to delete these orphaned records, you
would NOT be able to do it with the exception join.... not allowed...

Delete from detl where not exists (select * from hdr where hdr.key =
detl.key)

hth,
Eric DeLong

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]On Behalf Of Doug Palme
Sent: Wednesday, July 16, 2008 9:19 AM
To: RPG Midrange L
Subject: SQL Help finding missing records


I know I can do this with query, but in the spirit of learning - I would
prefer to do this with SQL.

I have two files SLSTRNHDRF - header file and SLSTRAN - Detail
file.....apparently we have some detail records that do not have a
corresponding header record and I want to double check the file and see if
there any more......I thought I could do it by querying the header file
for account / invoice records that do not match account and invoice fields
in the slstran.....but that did not seem to work.....

Suggestions?


This transmission may contain information that is privileged, confidential
and/or exempt from disclosure under applicable law. If you are not the
intended recipient, you are hereby notified that any disclosure, copying,
distribution, or use of the information contained herein (including any
reliance thereon) is STRICTLY PROHIBITED. If you received this
transmission in error, please immediately contact the sender and destroy
the material in its entirety, whether in electronic or hard copy format.
Thank you.
--
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.



--
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.