首頁 > 資料庫 > mysql教程 > 如何使用逗號分隔的連線欄位清單連線表?

如何使用逗號分隔的連線欄位清單連線表?

Mary-Kate Olsen
發布: 2024-11-13 02:49:02
原創
878 人瀏覽過

How to Join Tables With a Comma-Separated List of Join Fields?

使用逗號分隔的清單連接欄位連接表

在使用資料庫時,您可能會遇到需要基於包含多個逗號的欄位連接兩個資料表的情況- 分隔值。在這種情況下,傳統的聯接可能不夠。

考慮提供的範例,其中您有一個電影表,其中的類別列包含以逗號分隔的類別 ID。目標是執行一個查詢,從影片表中排除類別列,而是從類別表中選擇符合的類別名稱,並以陣列形式傳回它們。

要實現此目的,您可以使用以下查詢:

SELECT m.id, GROUP_CONCAT(c.name) AS categories
FROM movies m
JOIN categories c ON FIND_IN_SET(c.id, m.categories)
GROUP BY m.id
登入後複製

解釋:

FIND_IN_SET 函數檢查是否在字串中找到子字串。如果找到則傳回子字串的位置,否則傳回 0。在本例中,它會檢查電影表的類別列中是否存在類別表中的類別 ID。

查詢使用 GROUP_CONCAT 連接每個電影 ID 的 JOIN 操作傳回的類別名稱。按 m.id 分組可確保每部電影的類別分組在一起。

輸出:

查詢的輸出應類似於以下內容:

| id | categories         |
|---:|-------------------|
| 1  | Comedy, Drama      |
| 2  | Action, Drama      |
| 4  | Other, Dance      |
登入後複製

此技術根據逗號分隔的類別清單有效地連接兩個類別清單有效地連接兩個類別清單個表,允許您以陣列格式檢索類別名稱。

以上是如何使用逗號分隔的連線欄位清單連線表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板