如何在MySQL中选择数据为| xx | xx | xx的|
我想问: 我有两个表如何在MySQL中选择数据为| xx | xx | xx的|,mysql,Mysql,我想问: 我有两个表employee,其中包含字段ID,Fullname,email。。。表任务,带有字段任务名,员工名单 通过字段list|u employee我保存了数据示例|1509 | 1510 | 1511 | 现在我想从字段list\u employee 救救我 谢谢以下查询可能与您的想法大致相同: SELECT t.*, e.* FROM task t INNER JOIN employee e ON t.list_employee LIKE CONCAT('%|', e.
employee
,其中包含字段ID
,Fullname
,email
。。。表任务
,带有字段任务名
,员工名单
通过字段list|u employee
我保存了数据示例|1509 | 1510 | 1511 |
现在我想从字段list\u 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
...
这使得处理数据变得更加容易,因为数据库不再需要从字符串中筛选员工。这种数据违反了of,因此如果您可以将其重新构造为适当的关系形式,效果会更好。您的数据状态不佳,但我想说的是,如果你至少不向我们展示你的预期产出,那么你就不值得回答。以这种方式存储数据是个坏主意,对不起。由于这些数据,您将遇到各种复杂的查询问题