【问题标题】:MySQL search from pipeline delimitated stringMySQL 从管道分隔字符串中搜索
【发布时间】:2021-03-09 15:29:31
【问题描述】:

在 MYSql 5.7 中(我不能使用 PHP 或类似语言或其他 MySQL 版本)我有两个表:

OperatorsOperatorsWork

在第一个表中,我有 ID 和名称

在第二个表中,我有一个带有管道分隔 ID 的字符串

在这里您可以找到一个用于测试的 DB Fiddle: https://www.db-fiddle.com/f/iTYVLJQgaNEs92rMQKgybP/1

实际上我需要获取 IDOperators 列并与 name 列匹配

预期的结果是这样用逗号分隔的值:

1 - 名称 1、名称 2、名称 3

2 - 名称 2,名称 3

3 - 名称 1、名称 3

原来的IDOperators是:

1 - 1|2|3

2 - 2|3

3 - 1|3

非常感谢

【问题讨论】:

标签: mysql


【解决方案1】:

这样解决

SELECT  b.id,
        GROUP_CONCAT(a.name ORDER BY a.id) Result
FROM    Operators a
        INNER JOIN OperatorsWork b
            ON FIND_IN_SET(a.id, REPLACE(b.IDOperators, '|', ',')) > 0
GROUP BY b.id

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-17
    • 2017-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多