MySQL 中的條件聯結
當處理包含表示另一個表的表名的枚舉值的表時,有必要執行基於類型值的聯接。這在 MySQL 中提出了一個獨特的挑戰,因為它不支援動態連結。
但是,可以使用 case 表達式和多個聯結來實現解決方法。
一個簡單的範例是一個表格包含 id1、id2 和 type 欄位。類型列包含另一個表的名稱。要根據type 的值連接類型表,可以使用以下方法:
SELECT
t.id,
t.type,
t2 .id AS id2,
t3.id AS id3
FROM
t
左連接
t2 ON t2.id = t.id AND t.type = ' t2'
左JOIN
t3 ON t3.id = t.id AND t.type = 't3'
此查詢將根據type 的值對t2 和t3 表執行左連接。如果類型值與 t2 匹配,它將返回 t2 中的 id 列作為 id2。類似地,如果類型值與 t3 匹配,它將返回 t3 中的 id 列作為 id3。
雖然不如動態聯結那麼優雅,但此方法允許基於 MySQL 中的枚舉表名稱進行條件聯結。
以上是MySQL中如何根據枚舉表名進行條件連線?的詳細內容。更多資訊請關注PHP中文網其他相關文章!