Я хочу спросить:
У меня есть два employee
таблицы с ID
полей, Fullname
, email
и табличной task
с полями name_task
, list_employee
...
С полем list_employee
я сохранил с примером данных |1509|1510|1511|
,
Теперь я хочу выбрать сотрудника списка из поля list_employee
Помоги мне!
Спасибо
Следующий запрос может быть в соответствии с тем, что вы имеете в виду:
SELECT t.*, e.*
FROM task t
INNER JOIN employee e
ON t.list_employee LIKE CONCAT('%|', e.ID, '|%')
-- WHERE t.name_task = 'some task'
Это будет соответствовать заданной записи задачи и ее списку, отделенному от трубы, с каждой соответствующей записью из таблицы employee
. Обратите внимание, что, как и все вышеприведенные комментарии, плохой практикой является хранение ненормализованных данных таким образом. Гораздо лучший способ перенести задачи и связанные с ними сотрудники будут примерно такими:
name_task | ID
cleaning | 1509
cleaning | 1510
cleaning | 1511
washing | 1001
...
Это значительно упрощает работу с вашими данными, поскольку база данных больше не нужно выделять сотрудников из строк.