Схема ниже.По сути, в нижней части находятся навыки, затем рабочие места, а затем кандидаты (пока игнорируйте компании).Каждый навык может быть связан с несколькими заданиями, а задание может иметь несколько умений.Каждое задание относится к одному кандидату, который может иметь (имел) несколько (исторических) заданий, каждое с одной компанией.
Я просто не могу выяснить запросы, чтобы найти всех кандидатов со скиллом X.
На самом деле, это усложняется, потому что X - это не просто один навык, это может быть несколько навыков, с булевыми операторами, такими как
, чтобы найти всех кандидатов с помощью (skill = ")C ++ "и skill =" UML ") и NOT (skill =" Python ")
, где часть (skill="C++" and skill="UM"L) and NOT(skill="Python")
является строкой, которая должна содержать действительный подзапрос SQl, но яне могу понять остальную часть запроса.
[Обновить], когда я сказал «например,», я не имел в виду именно эту строку запроса.Я пытаюсь найти способ обработать любую строку запроса навыков.Например, skill=VB
или skill=VB and skill=C
или skillFreeRTOS and not skill=Windows
Кстати, схема пришла от ответа на на этот вопрос Мне это нравится, но ...
