[英]MYSQL - How to seperate values into columns - concat
目前,我在phpmyadmin中輸入了以下mysql代碼:
select Product_ID, group_concat(`Name` separator ',') as `Spec`
from
(
select Product_ID, concat(`Name`, ':',
group_concat(`Value` separator ',')) as `Name`
from product_spec_list
group by Product_ID, `Name`
) tbl
group by Product_ID
產生:
ID Name
3 Shielded:0,Type:General Purpose
4 Shielded:0,Type:General Purpose
等等,以及一長串的產品ID,其名稱和值之間用:和,分隔。
如何將值分成以“名稱”命名的列?
例如
ID Shielded Type
3 0 General Purpose
4 0 General Purpose
大約有40種不同的值名稱。
謝謝你的幫助
我還沒有測試過,但是我在想這樣的事情:
SELECT Product_ID AS `ID`
, GROUP_CONCAT(IF(Name="Shielded", values, "") SEPARATOR "") AS `Shielded`
, GROUP_CONCAT(IF(Name="Type", values, "") SEPARATOR "") AS `Type`
FROM
(SELECT Product_ID, Name, GROUP_CONCAT(value SEPARATOR ',') AS values
FROM product_spec_list
GROUP BY Product_ID, Name
) AS subQ
GROUP BY Product_ID;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.