wie wäre es damit:
INSERT INTO TBL_RESULT (ID, TBL1_ID, TBL2_ID)
SELECT seq_tbl_result.nextval,t1.id,t2.id
FROM
(SELECT t1.match_criteria,t1.id, row_number() OVER (PARTITION BY t1.match_criteria ORDER BY t1.id) rn
FROM tbl1 t1) t1,
(SELECT t2.match_criteria,t2.id, row_number() OVER (PARTITION BY t2.match_criteria ORDER BY t2.id) rn
FROM tbl2 t2) t2
WHERE t1.match_criteria=t2.match_criteria AND t1.rn=t2.rn
Hinweis:Es wird davon ausgegangen, dass in beiden Tabellen die gleiche Anzahl von Zeilen in jedem übereinstimmenden Satz vorhanden ist.