使用逗號分隔值查詢多個連接字段
在SQL 中,處理包含逗號分隔列表(CSV) 的表時在他們的領域,有效地執行連接可能具有挑戰性。本文探討了一種特定場景,其中電影表中的類別列包含多個類別 ID,目標是在從類別表中獲取相應類別名稱時將其完全排除。
下表說明了該場景:
Table categories: -id- -name- 1 Action 2 Comedy 4 Drama 5 Dance Table movies: -id- -categories- 1 2,4 2 1,4 4 3,5
為了執行所需的連接,我們可以將 find_in_set() 函數與 group_concat() 操作結合使用。這是詢問:
select m.id, group_concat(c.name) from movies m join categories c on find_in_set(c.id, m.categories) group by m.id
查詢說明:
結果輸出顯示電影 ID 及其對應的類別名稱(採用陣列格式)。這樣可以輕鬆存取相關類別,而無需解碼電影表中的 CSV。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3