我有两个表,一个表示listings表的tags列表,另一个表示listings表的listings列表。
tags表中,标记id作为1-2-3-存储在名为listings的字段中。这对我来说非常有效(正则表达式和连接来分离和显示数据),但是我现在需要将这些标记的标题拉到一行中。见下文。

listings table
id    tags
1     1-2-3-
2     4-5-6-


tags table
id    title
1     pig
2     dog
3     cat
4     mouse
5     elephant
6     duck

我需要从表中生成:
id     tags
2      mouse, elephant, duck

最佳答案

这里有一个查询可以帮助您。但是,由于它正在执行一些字符串操作,因此它可能不如常规联接好:

select l.id, group_concat( t.title )
   from listings l, tags t
   where concat( '-', l.tags )  like concat( '%-', t.id, '-%' ) group by l.id ;

关于mysql - 将MySQL行条目合并为一行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2761468/

10-10 21:16
查看更多