我想基于包含“合作伙伴”列的“联系人”表执行查询。我有这样的合作伙伴:
ID Name Partners
1 - Dupont - 3;8;14;11
2 - Duporc - 2;3;8;11
3 - Trobo - 1;2;5;8
例如,我想执行一个 SQL 查询以检索属于合作伙伴 2 的所有联系人。我怎样才能分解“合作伙伴”列以便使用 SQL 来做到这一点?
SELECT * FROM contacts WHERE ... LIKE 2 ...??
最佳答案
使用REGEXP
您可以使用正则表达式检查字符串中的给定数字。
SELECT * FROM contacts WHERE Partners REGEXP '[[:<:]]2[[:>:]]'
另一种方法是您可以在选择查询中替换分号,然后在集合中使用查找
SELECT * FROM contacts WHERE FIND_IN_SET(2,REPLACE(Partners,";",","));
关于php - 展开列以执行 SQL 搜索查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47905755/