Please don't try this at home, especially on tables of a million rows, but you can "join" on almost anything. Once I needed a "partial" Cartesian join (the primary had maximum one row only and the other one had up to a rare-as-hen's-teeth two rows) and used join on 1=1.
I say "partial" because there were a LOT more files that had to join to those.
It seemed a better approach for the query than a subselect file or CTE.



-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Roger Harman
Sent: Monday, November 30, 2015 12:00 PM
To: Midrange Systems Technical Discussion
Subject: Re: SQL "like" from a subselect

Join on a "like"? Haven't seen that before. Maybe later this week when I have some free time (Ha!). Month-end today.......

Thanks.


________________________________________
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxx> on behalf of Mark Murphy/STAR BASE Consulting Inc. <mmurphy@xxxxxxxxxxxxxxx>
Sent: Monday, November 30, 2015 8:06 AM
To: Midrange Systems Technical Discussion
Subject: Re: SQL "like" from a subselect

have you tried:

where exists (select * from namefile where lower(UPTEXT) like srchname)

This, like your below listed attempt, will not show you what comes up in the subselect, but will tell you which of your rows have a match.

Or if you want to see the matching records you can try something like:

select * from profiles
join namefile on lower(UPTEXT) like srchname

profiles is a guess at the name of the file holding your profiles.

Mark Murphy
STAR BASE Consulting, Inc.
mmurphy@xxxxxxxxxxxxxxx


-----Roger Harman <roger.harman@xxxxxxxxxxx> wrote: -----
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxx>
From: Roger Harman <roger.harman@xxxxxxxxxxx>
Date: 11/25/2015 02:39PM
Subject: SQL "like" from a subselect


I'm trying to match employee names (first or last) to text in the user profile. It's just a rough match to help operations in a task.

I have all the first & last names in a file and the user profile info in another.

I've tried "where lower(UPTEXT) like (select srchname from namefile)" but it fails with SQL0811 "Result of SELECT more than one row".

The search names are in the form of "%roger%". I can match singles in STRSQL.

I can whip up an RPG with %scan() but curious if I can make the subselect work. There are hundreds of profiles and thousands of employees.

Thanks in advance.


Roger Harman
COMMON Certified Application Developer - ILE RPG on IBM i on Power OCEAN User Group


--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/midrange-l.
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/midrange-l.

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/midrange-l.


--------------------------------------------------------------------------------
Confidentiality Notice: This email may contain confidential information or information covered under the Privacy Act, 5 USC 552(a), and/or the Health Insurance Portability and Accountability Act (PL 104-191) and its various implementing regulations and must be protected in accordance with those provisions. It contains information that is legally privileged, confidential or otherwise protected from use or disclosure. This e-mail message, including any attachments, is for the sole use of the intended recipient(s). Any unauthorized review, use, disclosure or distribution is prohibited. You, the recipient, are obligated to maintain it in a safe, secure and confidential manner. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. Thank you.
--------------------------------------------------------------------------------


This thread ...

Replies:

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

This mailing list archive is Copyright 1997-2019 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].