簡體   English   中英

MySQL將逗號分隔的結果轉換為單獨的列

[英]MySQL convert comma separated result into Individual Columns

我不確定我的問題是否正確。 我一直在尋找相同的術語,但似乎沒有一個靠近結果,我的桌子如下圖所示: 表img 有什么合適的方法來獲取每個值的“ yest”和“ no”結果(以逗號分隔的值存儲)在各個列中的“ Interested_in”列的結果?

我試過下面的查詢,但沒有運氣!

SELECT SUBSTRING_INDEX(intereste_in,',',1) AS col1,
   SUBSTRING_INDEX(SUBSTRING_INDEX(intereste_in,',',2),',',-1) AS col2,
   SUBSTRING_INDEX(SUBSTRING_INDEX(intereste_in,',',3),',',-1) AS col3,
   SUBSTRING_INDEX(SUBSTRING_INDEX(intereste_in,',',4),',',-1) AS col4,
   SUBSTRING_INDEX(SUBSTRING_INDEX(intereste_in,',',5),',',-1) AS col5,
   SUBSTRING_INDEX(SUBSTRING_INDEX(intereste_in,',',6),',',-1) AS col6,
   SUBSTRING_INDEX(SUBSTRING_INDEX(intereste_in,',',7),',',-1) AS col7,
   SUBSTRING_INDEX(SUBSTRING_INDEX(intereste_in,',',8),',',-1) AS col8,
   SUBSTRING_INDEX(SUBSTRING_INDEX(intereste_in,',',9),',',-1) AS col9,
   SUBSTRING_INDEX(intereste_in,',',-1) AS col10
  FROM(SELECT unifying_column, GROUP_CONCAT(DISTINCT interested_in LIMIT 10) AS intereste_in FROM tblName_test
  GROUP BY unifying_column) AS subtable;

干杯

所以也許是這樣的:

SELECT CASE WHEN t.Inserted_In LIKE '%Shopping%' THEN 'Yes' ELSE 'No' END as Shooping,
       CASE WHEN t.Inserted_In LIKE '%Beauty%' THEN 'Yes' ELSE 'No' END as Beauty,
       CASE WHEN t.Inserted_In LIKE '%Toys%' THEN 'Yes' ELSE 'No' END as Toys,
       ...
FROM ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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