如何在MySQL中选择数据| xx | xx | xx |

时间:2017-12-14 03:28:23

标签: mysql

我想问:

我有两个表employee,其中包含字段IDFullnameemail ...和表task,字段为name_task,{ {1}} ...

使用字段list_employee我保存了数据示例list_employee

现在我想要从字段|1509|1510|1511|

中选择列表员工

帮助我!

由于

1 个答案:

答案 0 :(得分:1)

以下查询可能与您的想法有关:

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
...

这使得处理数据变得更加容易,因为数据库不再需要从字符串中筛选出员工。