On 11/15/06, Luca Ferrari <[EMAIL PROTECTED]> wrote:
On Wednesday 15 November 2006 16:20 your cat, walking on the keyboard, wrote: > May be you could show the results you are getting and then make up some > results that you would really like to get. I am not entirely clear what > you are trying to achieve. Lastly I found the solution, for the moment, that should be the following: select * from peopleRole pr left join roleSkill rs on rs.id_role = pr.id_role left join peopleSkill ps on ps.id_skill = rs.id_skill I think it should go, don't you think?
This should list out all roles and their required skills for each person. It will show you the desired level and the evaluated level. select p.*, r.*, rs.desired_level, coalesce(ps.evaluated_level, 0) as evaluated_level from people p inner join peopleRole pr on (p.id_person = pr.id_person) inner join role r on (pr.id_role = r.id_role) inner join roleSkill rs on (r.id_role = rs.id_role) inner join skill s on (rs.id_skill = s.id_skill) left outer join peopleSkill ps on ( p.id_person = ps.id_person and s.id_skill = ps.id_skill ) You will have to check it for syntax problems since I didn't run it. -Aaron -- ================================================================== Aaron Bono Aranya Software Technologies, Inc. http://www.aranya.com http://codeelixir.com ==================================================================