将MYSQL查询结果转换为不同的列,如说明中所示

时间:2017-06-19 20:38:16

标签: mysql

嘿,我需要有关MYSQL查询的帮助,如果你可以请阅读病情几乎包括你需要的一切。

注意:我在发布之前已经阅读了多个答案,但我不确定这些答案是否可以解决我的问题。

我正在使用的查询:

SELECT
   t1.name AS product_name,
   t1.description AS product_description,
   GROUP_CONCAT(t2.name) AS category
   FROM cdxc_product_description t1 INNER JOIN
   cdxc_product_to_category t3
   ON t3.product_id = t1.product_id INNER JOIN
   cdxc_category_description t2
  ON t2.category_id = t3.category_id
  GROUP BY t1.name, t1.description;

我得到的结果:

product_name  |   product_description |  product_category
-----------------------------------------------------------
 NAME 1       |     Description 1     |     Cat1,Cat2,Cat5

 NAME 2       |     Description 2     |     Cat7,Cat2,Cat1

有什么方法可以得到这样的结果吗?

product_name  |   description |  category | category2 | category3
-----------------------------------------------------------
 NAME 1       | Description 1 | Cat1      |   Cat2    |    Cat5

 NAME 2       | Description 2 | Cat7      |   Cat2    |    Cat1

请注意: 我不想让sql动态生成任何东西,因为我知道它是不可能的,我只是想让你指出正确的方向来通过一个完全不同的查询使用不同的方法或仅通过修改来完成提到的结果我的询问。

0 个答案:

没有答案