用数组拆分字段并从另一个表连接

时间:2016-03-19 11:13:49

标签: mysql

我有一个带有'id','extras'字段的主表

'extras'字段为varchar,其值为'[10,20,30]'

此字段值数组中的每个id都链接到另一个名为'extras'且字段为'id''descr'的表。

我想查询主表并将extras字段值'[10,20,30]'替换为表extras中的'descr'字段。

结果应为

1,'descrfromid10,descrfromid20,descrfromid30'
2,'descrfromid10,descrfromid20,descrfromid30'
3,'descrfromid10,descrfromid20,descrfromid30'
etc

有什么想法吗?

我想我需要concat并加入两个表格。

由于

此致 范哲利斯

1 个答案:

答案 0 :(得分:0)

好的,在另一篇文章的帮助下,我让它发挥作用......

如果有更好的解决方案,请告诉我:)

由于

SELECT
   m.id,
   m.extras,
   GROUP_CONCAT(c.descr SEPARATOR ",") AS cats
FROM
   vouchers AS m,
   cartypes AS c
WHERE
   FIND_IN_SET(c.id, REPLACE(REPLACE(m.extras,"[",""),"]","")) != 0
GROUP BY
   m.id;