MySQL 根據欄位中的逗號分隔成多條資料

2021-10-25 00:07:44 字數 629 閱讀 4675

將資料庫表的字段進行切割,分成多條資料。

表資料:

test表

期望得到的查詢結果為:

id                  name

1                   張三

1                   李四

1                   王五

2                   肖1

2                   肖2

sql語句:

select a.id,substring_index(substring_index(a.name,',',b.help_topic_id+1),',',-1) name 

from test a join

mysql.help_topic b

on b.help_topic_id < (length(a.name) - length(replace(a.name,',',''))+1)

order by a.id;

感謝原文作者,本文**

mysql逗號分隔List欄位轉多行

具體的邏輯我還沒整明白,先記上再說,親測可用。select a1.id,a1.job depends from job version history a1 where a1.id in 1655,1656 id job depends 1655 353,3,532 1656 484,5,567se...

mysql 逗號分隔的id轉為逗號分隔的名稱

mysql 的一張表a的某1欄位是用逗號分隔的code,每個code對應在b表的有code和名稱的對應表。如果用語句檢索出,用逗號分隔的名稱拼接在一起。select b.engine number,group concat code name astran name fromt fix code a...

mysql 當字段以逗號分隔時的轉換

當乙個欄位裡的資料是以逗號分隔時,利用group concat str 函式以及substring index 函式,將其資料直接轉換成以逗號相隔的字串 記錄sql如下 select s.id,group concat d.dict name dict name from sys data dict...