简体   繁体   English

MySQL将逗号分隔的结果转换为单独的列

[英]MySQL convert comma separated result into Individual Columns

Im not sure whether my questions is right or not. 我不确定我的问题是否正确。 I've been searching for the same term but seems none is near the result, I've table as below image: 我一直在寻找相同的术语,但似乎没有一个靠近结果,我的桌子如下图所示: 表img Whats the suitable ways to get the result of 'Interested_in' column in individual column for each values with the result of "yes" & "no", which is stored as comma separated values? 有什么合适的方法来获取每个值的“ yest”和“ no”结果(以逗号分隔的值存储)在各个列中的“ Interested_in”列的结果?

I've tried below query but no luck! 我试过下面的查询,但没有运气!

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;

Cheers 干杯

So maybe something like: 所以也许是这样的:

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