ok, here is the cr sql that is generated by the main and subreport and the link between them. it does go through all 7802 records each time sits for about 20 seconds, then moves on to the next one
this is the main report sql
SELECT
"LOC"."LOC_NAME", "LOC"."ACCESS_DESC_TXT", "RA"."RA_ID", "RA"."BUSINESS_PROCESS", "RA"."PROG_ID",
"ADDR"."ADDR_TYP_TXT", "ADDR"."CITY_NAME", "ADDR"."STREET_NUM", "ADDR"."PRE_DIR", "ADDR"."ST_NAME_TXT",
"ADDR"."ST_TYP", "ADDR"."POST_DIR", "ADDR"."ZIP_CD", "ADDR"."ZIP_CD_EXT", "ADDR"."TNRCC_REGION_CD",
"FEA"."FEA_START_DATE", "LU_COUNTY"."COUNTY_NAME"
FROM
"MUMADM"."LOC" "LOC",
"MUMADM"."LOC_ADDR" "LOC_ADDR",
"MUMADM"."LOC_RA_FEA" "LOC_RA_FEA",
"MUMADM"."RA" "RA",
"MUMADM"."ADDR" "ADDR",
"MUMADM"."FEA" "FEA",
"MUMADM"."LU_COUNTY" "LU_COUNTY"
WHERE
"LOC"."LOC_GIN" = "LOC_ADDR"."FK_LOCLOC_GIN" AND
"LOC"."LOC_GIN" = "LOC_RA_FEA"."FK_LOC1_GIN" AND
"LOC_RA_FEA"."FK_RA1_ID" = "RA"."RA_ID" AND
"LOC_ADDR"."FK_ADDRADDR_ID" = "ADDR"."ADDR_ID" AND
"LOC_RA_FEA"."FK_FEA2_ID" = "FEA"."FEA_ID" AND
"ADDR"."CNTY_CD" = "LU_COUNTY"."COUNTY_CODE"(+) AND
"ADDR"."ADDR_TYP_TXT" = 'PHYSICAL' AND
"RA"."BUSINESS_PROCESS" = 'STORM WATER DISCHARGE' AND
"LU_COUNTY"."COUNTY_NAME" = 'MAVERICK'
ORDER BY
"RA"."PROG_ID" ASC,
"ADDR"."TNRCC_REGION_CD" ASC
this is the subreport sql meant to return the max id, which it does - the prop table links via the fk_ra_id up to the ra table id
SELECT
"PROP"."PROP_ID", "PROP"."PROP_VALUE", "PROP"."FK_RA2_ID"
FROM
MUMADM.PROP PROP
WHERE
PROP.PROP_ID = (SELECT MAX(PROP2.PROP_ID) FROM PROP PROP2 WHERE PROP2.PROP_TYPE = 'APPLICATION STATUS' AND
PROP2.FK_RA2_ID = PROP.FK_RA2_ID)
This is the link from main report to subreport
{PROP.FK_RA2_ID} = {?Pm-RA.RA_ID}