簡體   English   中英

MYSQL-如何將值分隔成列-concat

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM