/* there is only 1 taxonobservation without a taxoninterpretation [1], so we can just include one row for each taxoninterpretation. this allows us to use the taxoninterpretation_id as the row_num. [1] SELECT * FROM taxonobservation LEFT JOIN taxoninterpretation USING (taxonobservation_id) WHERE taxoninterpretation_id IS NULL */ SELECT * FROM taxoninterpretation LEFT JOIN taxonobservation USING (taxonobservation_id) LEFT JOIN plantconcept_ USING (plantconcept_id) LEFT JOIN plantname USING (plantname_id) ; -- runtime: 20 s ("Time: 20279.441 ms") @starscream