usage origin flowering ripe picking status rootstock is_triploid #### CREATE TABLE tree_usage_index ( id int, name varchar(100), PRIMARY KEY (name,id) ); CREATE TABLE tree_flowering_index ( id int, name varchar(100), PRIMARY KEY (name,id) ); #### SELECT id from tree_usage_index WHERE name='cider' OR name='juicer' # if there are results SELECT id from tree_flowering_index WHERE id IN (results) and name='spring' # if there are still results SELECT id from tree_ripe_index WHERE id IN (results) and name='autumn' #### CREATE TABLE tree_field_index ( field varchar(100), id int, name varchar(100), PRIMARY KEY (field,name,id), ); #### SELECT id from tree_field_index WHERE ( (field='usage' AND name='cider') OR (field='usage' AND name='juicer') ) AND (field='flowering' AND name='spring') AND (field='ripe' AND name='autumn')