我有一个看起来像这样的数据库集
Table: Notes
nid | forDepts
--------------
1 | 1;2;4
2 | 4;5
Table: Positions
id | name
--------------
1 | Executive
2 | Corp Admin
3 | Sales
4 | Art
5 | Marketing
如果forDepts中的数据用逗号分隔,则此查询将起作用
SELECT a.nid,
GROUP_CONCAT(b.name ORDER BY b.id) DepartmentName
FROM Notes a
INNER JOIN Positions b
ON FIND_IN_SET(b.id, a.forDepts) > 0
GROUP BY a.nid
有没有办法将它与分号分隔符匹配?或者有更好的方法吗?我的桌子都很大(5336和930行).
我可以做2个查询,然后爆炸;并相应地匹配,但如果有一种更好的方法可以在单个查询中完成,那将是很好的.