Oracle
 sql >> Datenbank >  >> RDS >> Oracle

SQL-Anweisung für die Abstimmung

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.