This view selects 696 entries. The CSV file has 48 entries.
CREATE OR REPLACE VIEW insert_3_char_abts AS SELECT ext.construct_id, n_term, enz_name, c_term, cpp, mutations, ext.g_batch, ext.p_batch, emptycol, c_batch, abts5_mean, abts5_SD, abts5_n, abts5_method, abts5_study_id, abts7_mean, abts7_SD, abts7_n, abts7_method, abts7_study_id, pur.pk_purified_enz_id FROM EXTERNAL (( construct_id NUMBER(10), n_term VARCHAR2 (50), enz_name VARCHAR2 (50), c_term VARCHAR2 (50), cpp VARCHAR2 (50), mutations VARCHAR2 (50), g_batch VARCHAR2 (50), p_batch VARCHAR2 (50), emptycol VARCHAR2(50), c_batch VARCHAR2 (50), abts5_mean NUMBER (5, 2), abts5_SD NUMBER (5, 2), abts5_n NUMBER (3), abts5_method VARCHAR2 (50), abts5_study_id VARCHAR2 (8), abts7_mean NUMBER (5, 2), abts7_SD NUMBER (5, 2), abts7_n NUMBER (3), abts7_method VARCHAR2 (50), abts7_study_id VARCHAR2 (8)) TYPE ORACLE_LOADER DEFAULT DIRECTORY data_to_input ACCESS PARAMETERS ( RECORDS DELIMITED BY NEWLINE SKIP 1 BADFILE bad_files:'badflie_view_before_insert_char_abts.bad' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' MISSING FIELD VALUES ARE NULL ) LOCATION ('CHAR_ABTS.CSV') REJECT LIMIT UNLIMITED) ext INNER JOIN purified_enz pur ON ext.p_batch = pur.p_batch INNER JOIN produced pr ON pr.pk_produced_id = pur.fk_produced_id; ;
If I finish this statement with
AND pr.fk_construct_id = ext.construct_id;
It selects 46 out of 48 records, which is better, but not great.