Filtering For A Result - Advice

I'm creating an advanced search form and I have to filter the results based on whether particular rows exist in other tables.

For example: Project has_many ResearchProjects

Project.find(:all, :joins => "INNER JOIN research_projects_vw ON research_projects_vw.fin_project_id = project_totals_vw.fin_project_id",          :conditions => ["research_projects_vw.funding_type_code in (?)", ns['funding_types'].split(',')])

Is there a good way of preventing getting a Cartesian product using this join, or should i just be providing an option like :select => 'distinct fielda, distinct fieldb' etc