Hello,
I'm looking for any suggestions to optimize the following PROC SQL statement from a SAS program. The two tables involved contain around 5 million records each and the runtime is about 46 hours.
The statement is looking to update a "new" version of the "old" table. Noting a column if the "old" table, for a "PK_ID", was listed without a value for "3RD_ID" and "CODE", but in the "new" table, for a "PK_ID", it is now listed WITH a value for "3RD_ID" and "CODE".
Thanks for any suggestions... (The code is really formatted below! For some reasons my spaces aren't showing for indents...)
PROC SQL _METHOD;
UPDATE NEW_TABLE AS N
SET NEW_2ND_ID=(SELECT 2ND_ID FROM OLD_TABLE AS O
WHERE N.PK_ID=0.PK_ID
AND N.2ND_ID<>O.2ND_ID
AND O.3RD_ID IS NULL
AND O.CODE IS NULL
AND N.3RD_ID IS NOT NULL
AND N.CODE IS NOT NULL
AND N.2ND_ID IS NOT NULL)
WHERE N.3RD_ID IS NOT NULL
AND N.PK_ID IS NOT NULL
AND N.CODE IS NOT NULL
AND N.2ND_ID IS NOT NULL;
QUIT;