mysql逗號分隔的字符串轉換爲行

 

 

SELECT a.id,
substring_index( substring_index( a.code, ',', b.help_topic_id + 1 ), ',',- 1 ) age,a.year
FROM t a
JOIN mysql.help_topic b ON b.help_topic_id < ( length( a.code ) - length( REPLACE ( a.code, ',', '' ) ) + 1 ) 
ORDER BY a.id

 

解析
1.Substring_index的作用:取得目標字符串左側第n個分割符左側的部分,n爲負時返回右側第n個的右部分
2.help_topic 是數據庫mysql的一個表,該表提供查詢幫助主題給定關鍵字的詳細內容(詳細幫助信息)
表字段含義:

  • help_topic_id:幫助主題詳細信息在表記錄中對應的ID
  • name:幫助主題給定的關鍵字名稱。
  • help_category_id:幫助主題類別ID,與help_category表中的help_category_id字段值相等。
  • description:幫助主題的詳細信息(這裏就是我們通常查詢幫助信息真正想看的內容,例如:告訴我們某某語句如何使用的語法與注意事項等)。
  • example:幫助主題的示例信息(告訴我們語句如何使用的示例)。
  • url:該幫助主題對應在MySQL官方在線手冊中的URL鏈接地址。

ps:這條sql語句其實跟help_topic表沒有什麼關係,僅僅是借用了help_topic表的help_topic_id的值爲(0,1,2,...),因此在本數據庫中建立一個僅含ID字段的表進行關聯,同樣可以實現轉多行效果

 

參考:

https://blog.csdn.net/wslzjr/article/details/108276502

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章