我一直在努力解决这个问题。
我有3个关系。
用户,知识,技能和专长。
我需要通过知道技能的ID查找用户。同时,我想使用多种技能。
我希望能够通过专门技能对它进行排序,这有可能吗? SQL是否复杂并不重要。我只想要1个命令。
用户关系:https://imgur.com/78Ify54
知识关系:https://imgur.com/bvZhxlN
技能关系:https://imgur.com/nXTA513
专长关系:https://imgur.com/q2lI7GQ
所以目标是:
非常感谢您的任何建议:)
通过多个技能ID查找用户
select u.*
from User u
inner join Knowledge k on k.user_id = u.id
inner join Skill s on k.skill_id = s.id
where s.id in (:ids)
按特定技能的专业知识对用户进行排序
select u.id, u.name, e.name
from User u
inner join Knowledge k on k.user_id = u.id
inner join Skill s on k.skill_id = s.id
inner join Expertise e k.expertise_id = e.id
where s.name = 'My Skill'
order by e.name