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
Quoting Baidu's explanation of pseudo-static:...
The following installations all use the ~/ direct...
The cut command in Linux and Unix is used to cu...
1. Problem Description Today I need to check the ...
Main differences: 1. Type SQL databases are prima...
Table of contents 01 What is the essence of a con...
This article records the creation of a USB boot d...
Section Course content Hours 1 Web Design Overvie...
1. Multiple borders[1] Background: box-shadow, ou...
Table of contents Preface 1. The database name or...
Download the installation package from the offici...
Table of contents 1. Data Source 2. Overall ranki...
Table of contents Environment Setup Overview 1.Wh...
Reference: MySQL character set summary utf8mb4 ha...
1. Upgrade process: sudo apt-get update Problems ...