gpt4 book ai didi

php - mysql FIND_IN_SET() 用分号代替逗号

转载 作者:可可西里 更新时间:2023-11-01 07:30:32 24 4
gpt4 key购买 nike

我有一个看起来像这样的数据库集

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 个查询,然后按 ; 展开并进行相应匹配,但如果有更好的方法可以在单个查询中完成,那就太好了。

这是我的 sqlfiddle

最佳答案

您可以替换逗号:

FIND_IN_SET(b.id ,REPLACE(a.forDepts, ';', ',') )

关于php - mysql FIND_IN_SET() 用分号代替逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27685123/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com