1For example: To split the fields shown in Figure 1 into Figure 2 select account_id, substring_index(substring_index(a.related_shop_ids,',' ,b.help_topic_id+1),',',-1) shopid from sales_hang_account a join mysql.help_topic b on b.help_topic_id < (length(a.related_shop_ids) - length(replace(a.related_shop_ids,',',''))+1) order by a.account_id 2: Then connect with the shops table to query and extract the fields we need. Here I need to extract name select s.`name` as shopname,a.account_id from shops s inner JOIN ( select account_id, substring_index(substring_index(a.related_shop_ids,',' ,b.help_topic_id+1),',',-1) shopid from sales_hang_account a join mysql.help_topic b on b.help_topic_id < (length(a.related_shop_ids) - length(replace(a.related_shop_ids,',',''))+1) order by a.account_id)a on s.shop_id=a.shopid 3: Combine the same account_id into one line, separated by commas //These two are examples from the Internet select ID, group_concat(NAME) as NAME from table group by ID; select ID,group_concat(NAME SEPARATOR ';') as NAME from a group by ID; //With the help of the above two references select account_id,GROUP_CONCAT(shopname SEPARATOR',')as shopname from (select s.`name` as shopname,a.account_id from shops s inner JOIN ( select account_id, substring_index(substring_index(a.related_shop_ids,',' ,b.help_topic_id+1),',',-1) shopid from sales_hang_account a join mysql.help_topic b on b.help_topic_id < (length(a.related_shop_ids) - length(replace(a.related_shop_ids,',',''))+1) order by a.account_id)a on s.shop_id=a.shopid) a GROUP BY account_id The effect is as follows Second method select g.account_id,g.related_shop_ids,GROUP_CONCAT(s.name)as shopname from sales_hang_account g left join shops s on FIND_IN_SET(s.shop_id , g.related_shop_ids) GROUP BY g.account_id SqlServer [Product] -- The storage format of this field is 7,8,9,11,10,12, and the data type is nvarchar select id,ProductName=stuff((select ',' + product_chinaname from base_supplier_product where charindex(','+ltrim(productid)+',',','+ Product + ',') > 0 for xml path('') ), 1, 1, '') FROM base_Pre_sale_project result This is the end of this article about how to extract comma-separated values from a field in MySQL to form a new field. For more information about comma-separated values in MySQL fields, please search for previous articles on 123WORDPRESS.COM or continue to browse the following related articles. I hope you will support 123WORDPRESS.COM in the future! You may also be interested in:
|
<<: Implementation of fastdfs+nginx cluster construction
>>: Detailed explanation of built-in methods of javascript array
Because the server's database hard disk space...
Linux: Linux version 3.10.0-123.9.3.el7.x86_64 Ng...
Table of contents View all storage engines InnoDB...
Why mention textarea specifically? Because the tex...
CentOS8 was released a few days ago. Although it ...
Table of contents 1. Preprocessing 2. Compilation...
1. What is In react applications, event names are...
1. Use Centos image to build local yum source Sin...
Preface What is data type conversion? The default...
The steps for configuring Tomcat in IDEA 2020 are...
Today, when I was configuring Tomcat to access th...
What is a mata tag The <meta> element provi...
Table of contents Product Requirements Ideas Prob...
Table of contents What is a mind map? How to draw...
Table of contents cache Cache location classifica...