使用逗号分隔值查询多个连接字段
在 SQL 中,处理包含逗号分隔列表 (CSV) 的表时在他们的领域,有效地执行连接可能具有挑战性。本文探讨了一种特定场景,其中电影表中的类别列包含多个类别 ID,目标是在从类别表中获取相应类别名称时将其完全排除。
下表说明了该场景:
Table categories: -id- -name- 1 Action 2 Comedy 4 Drama 5 Dance Table movies: -id- -categories- 1 2,4 2 1,4 4 3,5
为了执行所需的连接,我们可以将 find_in_set() 函数与 group_concat() 操作结合使用。这是查询:
select m.id, group_concat(c.name) from movies m join categories c on find_in_set(c.id, m.categories) group by m.id
查询说明:
结果输出以数组格式显示电影 ID 及其相应的类别名称。这样可以轻松访问相关类别,而无需解码电影表中的 CSV。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3