使用逗号分隔的连接字段连接表
在数据库管理中,经常需要根据包含多个字段的字段来连接表逗号分隔值。这在执行排除连接字段并从相关表中选择匹配值的查询时提出了挑战。
在此场景中,我们有两个表:类别和电影,其中电影表中的类别列包含以逗号分隔的类别 ID 列表。我们的目标是执行一个查询,以数组格式检索每部电影的类别。
解决方案
实现此目的的一种方法是使用 JOIN 操作使用 find_in_set() 函数的子查询。 find_in_set() 函数检查以逗号分隔的字符串中是否存在指定值。
以下查询演示了如何根据逗号分隔的类别 ID 连接电影和类别表:
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(电影 ID)和categories(类别名称数组)。例如,输出可能如下所示:
id | categories |
---|---|
1 | Comedy,Drama |
2 | Action,Drama |
4 | Other,Dance |
以上是如何使用逗号分隔的连接字段连接表?的详细内容。更多信息请关注PHP中文网其他相关文章!