我需要在单独的行上用逗号分隔 mysql 表的值

Posted

技术标签:

【中文标题】我需要在单独的行上用逗号分隔 mysql 表的值【英文标题】:I need Comma separated values of mysql table on separate rows 【发布时间】:2018-09-09 08:30:37 【问题描述】:

我有两张表如下

餐桌用品

-product_id-        -categorie ids-
  1                   2,4,5,6
  2                   1,4,3
  4                    3,5

表格分类

c-category_id-       -(catname)-
  1                  cat1
  2                  cat2
  3                  cat3
  4                  cat4
  5                  cat5
  6                  cat6

我需要这种格式的结果

-product_id-        -categories-
  1                  cat2
  1                  cat4
  1                  cat5
  1                  cat6
  2                  cat1
  2                  cat4
  .                    .
  .                    .
  .                    .

【问题讨论】:

解决这个问题的好主意!逗号分隔的值只会带来很多麻烦。 你应该接受这个想法***.com/questions/19101550/… 【参考方案1】:
SELECT  a.product_id,
        b.catname
FROM    products a
        INNER JOIN category b
            ON FIND_IN_SET(b.category_id, a.categorie_ids) > 0
            ORDER BY a.product_id

现场演示

http://sqlfiddle.com/#!9/02efca/5

【讨论】:

欢迎! @GirishPatil 如果你得到你的答案,你可以接受它

以上是关于我需要在单独的行上用逗号分隔 mysql 表的值的主要内容,如果未能解决你的问题,请参考以下文章

在变量 BASH 的一行中用逗号分隔值

将逗号分隔的字符串转换为单独的行

将列中逗号分隔的字符串拆分为单独的行

在mysql中将分隔字符串转换为多个值

将嵌入的 CSV 文本拆分为单独的行

MySQL函数替换列中的逗号分隔值