Using models as join tables query question

I can't seem to think straight this evening. I have the following models

class Candidate < ActiveRecord::Base   has_many :castings   has_many :projects, :through => :castings end

class Project < ActiveRecord::Base   has_many :castings   has_many :candidates, :through => :castings end

class Casting < ActiveRecord::Base   belongs_to :project   belongs_to :candidate end

I need to get a list of projects that the candidate has NO castings for. The opposite of candidate.projects. Any zen way to do it? Make it fit into a form.select ?

has_many :projects_uncasted_for, :class_name => 'Project', :finder_sql => <<-'end'   select *   from projects left join castings on projects.id = castings.project_id   where castings.candidate_id is null or castings.candidate_id != #{id} end

Thanks Eden. I changed the query to

select DISTINCT projects.* from projects left join castings on projects.id = castings.project_id where castings.candidate_id is null or castings.candidate_id != #{id}

and now it seems works great.