That was a great help.  Thank you!

On Nov 27, 4:07 am, Oskar Berggren <[email protected]> wrote:
> Maybe there are better solutions, but you can try this hql:
>
> select proj from Project proj
> where proj.id not in (select distinct p.id
>                         from Project p
>                         left join p.RequiredSkills as skill
>                         where skill.id not in (:users_skills)  )
>
> /Oskar
>
> 2009/11/27 JakeS <[email protected]>:
>
>
>
> > I have three entities -- Users, Projects, and Skills.  A User may have
> > multiple Skills and a Project may require multiple skills.  Now I need
> > a way to find all Projects that a particular User is qualified to
> > perform.
>
> > So if User1 knows carpentry, plumbing, and electric, and Project1
> > requires carpentry and electric, my query with User1 as the parameter
> > would return Project1 as a result.
>
> > Unfortunately, my SQL skills are poor at best so I'm struggling with
> > HQL.  The best I could come up with is:
>
> > SimpleQuery<Project>("from Project p where ? in elements
> > (p.ProjectSkills)", userSkillIDs)
>
> > But this is backward, it'll tell me any projects that have all the
> > user's skills, not projects where the user has all the projectskills
> > (and maybe more).  If I reverse it:
>
> > SimpleQuery<Project>("from Project p where (p.ProjectSkills) in
> > elements ?", userSkillIDs)
>
> > That doesn't work either, I get a
> > Antlr.Runtime.MismatchedTokenException.
>
> > Can someone point me in the right direction?
>
> > --
>
> > You received this message because you are subscribed to the Google Groups 
> > "nhusers" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to 
> > [email protected].
> > For more options, visit this group 
> > athttp://groups.google.com/group/nhusers?hl=en.

--

You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.


Reply via email to