在MySQL 中交叉資料
問題:
解決方案:
MySQL 不提供 INTERSECT 運算子的直接支援。但是,還有其他方法可以實現所需的功能。 一種選擇是使用內部聯結:SELECT DISTINCT records.id FROM records INNER JOIN data d1 on d1.id = records.firstname AND d1.value = "john" INNER JOIN data d2 on d2.id = records.lastname AND d2.value = "smith"此查詢將「records」表與「records」的兩個實例連結起來。 data”表,過濾在兩個連接中具有匹配值的行。另一種選擇是in子句:
SELECT DISTINCT records.id FROM records WHERE records.firstname IN ( select id from data where value = 'john' ) AND records.lastname IN ( select id from data where value = 'smith' )此方法從“記錄”表中選擇“名字」和「姓氏」欄位與「資料」表中的值相符的行。這些方法提供了有效的方法透過基於通用標準組合多個表中的行來交叉MySQL中的數據。
以上是如何有效率地交叉MySQL中多個表格的資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!