Off the top of my head, try the following (no guarantees though)
Update File2 as a Set (a.Fld5, a.Fld6, a.Fld7) =
(select b.Fld5, b.Fld6, b.Fld7 from File1 as b
Where
a.Fld1 = b.Fld1 and
a.Fld2 = b.Fld2 and
a.Fld3 = b.Fld3 and
a.Fld4 = b.Fld4 and
a.Fld8 = b.Fld8 and
a.Fld9 = b.Fld9 and
a.Fld10 = b.Fld10)
Where exists
(select * from File1 as b
Where
a.Fld1 = b.Fld1 and
a.Fld2 = b.Fld2 and
a.Fld3 = b.Fld3 and
a.Fld4 = b.Fld4 and
a.Fld8 = b.Fld8 and
a.Fld9 = b.Fld9 and
a.Fld10 = b.Fld10);
Alan Shore
Programmer/Analyst, Direct Response
E:AShore@xxxxxxxx
P:(631) 200-5019
C:(631) 880-8640
"If you're going through Hell, keep going" - Winston Churchill
-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of RPGLIST
Sent: Friday, December 28, 2012 10:16 AM
To: midrange-l@xxxxxxxxxxxx
Subject: A complex sql issue
I am trying to update a file and could use some help constructing the SQL statement.
Two files:
File 1 - Work file
Fld1
Fld2
Fld3
Fld4
Fld5
Fld6
Fld7
Fld8
Fld9
Fld10
File 2 - Production File
Fld1
Fld2
Fld3
Fld4
Fld5
Fld6
Fld7
Fld8
Fld9
Fld10
Both files have the exact same layout, I need to update fields 5,6,7 in the production file with the data in the work file where flds1-10, excluding 5-7, are an exact match.
When I first tried it I got a -206 error, so I know that I had the update statement written incorrectly. Here is what I was trying to use:
Update File2 as a
Set a.Fld5 = b.Fld5,
a.Fld6 = b.Fld6,
a.Fld7 = b.Fld7
Where exists
(select * from File1 as b
Where
a.Fld1 = b.Fld1 and
a.Fld2 = b.Fld2 and
a.Fld3 = b.Fld3 and
a.Fld4 = b.Fld4 and
a.Fld8 = b.Fld8 and
a.Fld9 = b.Fld9 and
a.Fld10 = b.Fld10);
I'm sure the reason its blowing the -206 is because on the update side of the statement b doesn't yet exist.
Any help would be appreciated.
--
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.
Disclaimer: This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system. E-mail transmission cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message, which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. Any views or opinions presented are solely those of the author and do not necessarily represent those of the company.
As an Amazon Associate we earn from qualifying purchases.