您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

MySQL连接两个表,用逗号分隔的ID

MySQL连接两个表,用逗号分隔的ID

您可以使用FIND_IN_SET()GROUP_CONCAT()此,

SELECT  b.Group_ID, GROUP_CONCAT(a.name) name
FROM    Table2 b
        INNER JOIN Table1 a
            ON FIND_IN_SET(a.ID, b.Group_ID) > 0
GROUP   BY b.Group_ID

输出

╔══════════╦═════════════════╗
║ GROUP_ID ║      NAME       ║
╠══════════╬═════════════════╣
║ 1        ║ Person1         ║
║ 2,3      ║ Person2,Person3 ║
╚══════════╩═════════════════╝

附带说明,此查询可能无法按预期有效地执行。请不要保存用逗号分隔的值,以正确规范化您的表格。

GROUP_ID非常令人困惑。是不是PersonIDList?无论如何,这是我建议的架构设计:

PERSON Table

PersonID (PK) PersonName other columns.. GROUP Table

GroupID (PK) GroupName other columns.. PERSON_GROUP Table

PersonID (FK) (at the same time PK with column GroupID) GroupID (FK)

MySQL 2022/1/1 18:49:52 有269人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶