I think the statement you're looking for is MERGE.  It's really pretty straightforward:

    merge into master using slsupd on mcusno = cust
       when matched then update set msales = rep;

MERGE is a lot more capable than that; you can specific a subselect as the source data, and you can insert and delete as well as just update.  Check for more here: https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_74/sqlp/rbafymerge.htm.


On 3/20/2021 10:52 AM, dr2@xxxxxxxx wrote:
Well, IF NULL, I don't want it to overlay the existing value in MASTER
with a null...

SLSUPD is a short list of customers and salesman numbers that I want to
update MASTER with. If the customer isn't in the update file then I
want it left alone.

Kinduv like:

Chain (masterkey) SLSUPD;

If Found SLSUPD

update master;

ELSE

DO NOTHING...

endif

read next master...

Frankly it was faster (MUCH) to just write a 10 line RPG...but this
conundrum is still one I want to solve...out of curiosity if nothing
else... :)

On 2021-03-19 20:14, x y wrote:

IFNULL(column_name, {replacement_value}

Like this:
select ifnull(cmname, 'Not found') into :cmname from arp001 where cmcust =
:keyvalue

On Fri, Mar 19, 2021 at 2:00 PM <dr2@xxxxxxxx> wrote:

COOL.... Thanks!

On 2021-03-19 16:54, Therrien, Paul via MIDRANGE-L wrote:

-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxxxxxxxx] On Behalf Of Therrien, Paul via MIDRANGE-L Sent: Friday, March 19, 2021 4:53 PM
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxxxxxxxx

Cc: Therrien, Paul <ptherrien@xxxxxxxxxxx>
Subject: RE: SQL consundrum du jour...

update drtemp.master

set
drtemp.master.msales =
(select
rep from
drtemp.slsupd
where
(drtemp.master.mcusno = drtemp.slsupd.cust )
) where drtemp.master.mcusno in (select drtemp.slsupd.cust from
drtemp.slsupd)

(I removed the errant '=' sign)

-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxxxxxxxx] On
Behalf Of dr2@xxxxxxxx

Sent: Friday, March 19, 2021 4:35 PM
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxxxxxxxx

Subject: Re: SQL consundrum du jour...

yes we were going down that trail, but then, how would one handle that
condition?? slsupd is a subset of master, yes, but there's got to be a
way
to do this with a subsetted updates/changes file...

On 2021-03-19 16:29, Therrien, Paul via MIDRANGE-L wrote:

no hit on customer in slsupd ; so msales would be null

-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxxxxxxxx] On
Behalf Of dr2@xxxxxxxx
Sent: Friday, March 19, 2021 4:25 PM
To: MIDRANGE-L@xxxxxxxxxxxxxxxxxx
Subject: SQL consundrum du jour...

Greetings...

I've used this exact same SQL in other updates just fine...all I sub'd
this time was the file(s) and field(s)...yeah, famous last words...
But
this time I'm getting a "Null values not allowed in column or variable
MSALES. " error... Any idea what I'm not seeing?

msales and rep are saleman numbers, and mcusno and cust are customer
numbers...

update drtemp.master
set
drtemp.master.msales =
(select
rep from
drtemp.slsupd
where
(drtemp.master.mcusno = drtemp.slsupd.cust )
)

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

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription
related questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx To
subscribe,
unsubscribe, or change list options,

visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription
related questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx To
subscribe,
unsubscribe, or change list options,

visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription
related questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

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.