連接具有不明確列的表:從多個複製表中選擇資料
從具有相同結構但分離的多個表中檢索資料的挑戰在WHERE 子句中指定列時,for 本地化會產生歧義。當比較不明確的列時,例如查詢中的“流派”,MySQL 無法確定要引用哪個表。
解決方案:利用 UNION 運算子
解決此歧義,您可以使用 UNION 運算子。 UNION 組合兩個或多個 SELECT 語句的結果,透過各個表中所有行的並集有效地建立一個虛擬表。
修改的查詢:
(SELECT * FROM us_music WHERE `genre` = 'punk') UNION (SELECT * FROM de_music WHERE `genre` = 'punk')
解釋:
此修改後的查詢將每個涉及的SELECT語句分開桌子。每個子查詢從特定表中檢索數據,確保「流派」列引用中沒有歧義。然後,UNION 運算子將結果組合成一個結果集,為您提供多個表中所需的資料。
以上是如何從具有相同、不明確列的多個表中選擇資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!