У меня есть следующие таблицы
staff
-----------------
id name operations
1 Mr X 51,52
2. Ms Y 71,72,74
3 Ms Z 71,72,74,80,81,82
operations
---------------
id name
51 BT
52 BP
71 CV
72 DX
74 EG
80 SR
81 FT
82 ZS
Я хотел бы динамически выполнить поиск, в котором я мог бы получить несколько имен сотрудников, соответствующих операциям, которые они могут выполнять.
Список операций будет динамически генерироваться как список запятых из другого запроса mysql.
Итак, если мне нужно найти весь персонал, который может выполнять операции 51, 52, 71, 72,74, 80,82
, то конечный результат должен выглядеть следующим образом:
result
sid sname operations
1 Mr X 51,52
2,3 Mr Y, Z 71,72,74,80,82
Запрос должен объединять и давать имена обоих сотрудников, которые могут выполнять указанные операции, в виде строки, разделенной запятой, где это применимо.
Я пытался искать в Интернете похожие запросы, где люди использовали FIND_IN_SET
но не идеальный здесь, поскольку вы можете искать только по одной строке за раз, и, поскольку я получаю список операций динамически как один список, разделенный запятыми, было бы беспорядочно использовать l oop, чтобы узнать, сколько раз записать FIND_IN_SET
плюс он не будет сочетать совпадающие имена сотрудников в виде списка через запятую, как указано выше для идентификатора персонала 2,3
.
* 10 19 * Я не против смешать немного PHP & MySQL, чтобы получить вышеуказанный конечный результат, если это не может произойти в одном запросе, но любая помощь ИЛИ указатели приветствуются.
Спасибо заранее!