If I run this with a work order whose wolinkkey = 1,
I get:
SELECT
HISTORY."ADDDTTM", HISTORY."HISTKEY", HISTORY."WOLINKKEY", HISTORY."WONO",
COSTXTRA."COSTKEY", COSTXTRA."HISTKEY", COSTXTRA."TOTCOST",
COSTLABR."COSTKEY", COSTLABR."HISTKEY", COSTLABR."TOTCOST",
COSTVEH."COSTKEY", COSTVEH."HISTKEY", COSTVEH."TOTCOST",
COSTPART."COSTKEY", COSTPART."HISTKEY", COSTPART."TOTCOST",
COSTTOOL."COSTKEY", COSTTOOL."HISTKEY", COSTTOOL."TOTCOST",
COSTEQ."COSTKEY", COSTEQ."HISTKEY", COSTEQ."TOTCOST",
ltrim(HISTORY."WONO"

FROM
"IMSV7"."HISTORY" HISTORY,
"IMSV7"."COSTXTRA" COSTXTRA,
"IMSV7"."COSTLABR" COSTLABR,
"IMSV7"."COSTVEH" COSTVEH,
"IMSV7"."COSTPART" COSTPART,
"IMSV7"."COSTTOOL" COSTTOOL,
"IMSV7"."COSTEQ" COSTEQ
WHERE
HISTORY."HISTKEY" = COSTXTRA."HISTKEY" (+) AND
HISTORY."HISTKEY" = COSTLABR."HISTKEY" (+) AND
HISTORY."HISTKEY" = COSTVEH."HISTKEY" (+) AND
HISTORY."HISTKEY" = COSTPART."HISTKEY" (+) AND
HISTORY."HISTKEY" = COSTTOOL."HISTKEY" (+) AND
HISTORY."HISTKEY" = COSTEQ."HISTKEY" (+) AND
(HISTORY."WOLINKKEY" = 1 OR
HISTORY."WONO" = ' 1015')
ORDER BY
HISTORY."WOLINKKEY" ASC,
HISTORY."WONO" ASC,
HISTORY."HISTKEY" ASC
If I run it with a wolinkkey > 1, I get:
SELECT
HISTORY."ADDDTTM", HISTORY."HISTKEY", HISTORY."WOLINKKEY", HISTORY."WONO",
COSTXTRA."COSTKEY", COSTXTRA."HISTKEY", COSTXTRA."TOTCOST",
COSTLABR."COSTKEY", COSTLABR."HISTKEY", COSTLABR."TOTCOST",
COSTVEH."COSTKEY", COSTVEH."HISTKEY", COSTVEH."TOTCOST",
COSTPART."COSTKEY", COSTPART."HISTKEY", COSTPART."TOTCOST",
COSTTOOL."COSTKEY", COSTTOOL."HISTKEY", COSTTOOL."TOTCOST",
COSTEQ."COSTKEY", COSTEQ."HISTKEY", COSTEQ."TOTCOST",
ltrim(HISTORY."WONO"

FROM
"IMSV7"."HISTORY" HISTORY,
"IMSV7"."COSTXTRA" COSTXTRA,
"IMSV7"."COSTLABR" COSTLABR,
"IMSV7"."COSTVEH" COSTVEH,
"IMSV7"."COSTPART" COSTPART,
"IMSV7"."COSTTOOL" COSTTOOL,
"IMSV7"."COSTEQ" COSTEQ
WHERE
HISTORY."HISTKEY" = COSTXTRA."HISTKEY" (+) AND
HISTORY."HISTKEY" = COSTLABR."HISTKEY" (+) AND
HISTORY."HISTKEY" = COSTVEH."HISTKEY" (+) AND
HISTORY."HISTKEY" = COSTPART."HISTKEY" (+) AND
HISTORY."HISTKEY" = COSTTOOL."HISTKEY" (+) AND
HISTORY."HISTKEY" = COSTEQ."HISTKEY" (+) AND
(HISTORY."WOLINKKEY" = 6205 OR
HISTORY."WONO" = 'FY2003F')
ORDER BY
HISTORY."WOLINKKEY" ASC,
HISTORY."WONO" ASC,
HISTORY."HISTKEY" ASC
I just noticed also, that the 2nd run through did go pretty quickly - where the wolinkkey = 6205.
To more fully describe the data, the work orders with wolinkkey= 1, are not linked, and those with wolinkkey >1 are linked, via the wolinkkey. So, if the wolinkkey is 1, I want to only pull based on wono, but if >1, I want to pull any wono's with matching wolinkkeys. I guess maybe there are just a TON of wolinkkeys = 1...?
Please let me know if you can make some sense of this! Thanks.