2011-11-16 27 views
1

我在MySQL的,即不同的主機連接數以及架構,我想通過加入查詢導出數據到如何在多連接的MySQL中運行多重聯合查詢?

  1. 連接名稱:澳大利亞 主機名:xx07xx130300_001.db.6567xxx.xxx.com 架構:xx07xx130300_001

  2. 連接名稱:印尼 主機名:xx07xx130300_002.db.6567xxx.xxx.com 架構:xx07xx130300_002

  3. 連接名稱:新加坡 主機名:xx07xx130300_003.db.6567xxx.xxx.com 架構:xx07xx130300_003

我怎樣做工會在這種情況下,MySQL工作臺?

我使用的字段是Email和LastModified,它們在每個連接上都是相同的。

我可以做這樣的事情:

SELECT Email, LastModified FROM Australia.xx07xx130300_001.table1 
UNION 
SELECT Email, LastModified FROM Indonesia.xx07xx130300_002.table1 
UNION 
SELECT Email, LastModified FROM Singapore.xx07xx130300_003.table1 

感謝

回答

3

查詢不能跨越多個連接。您可以使用Federated tables來僞造它,它可以將其他數據庫實例中的表以透明方式鏈接到本地​​數據庫實例。這將向本地數據庫服務器發出單個查詢,並且它將處理將查詢遷移到外部數據庫實例的後臺工作。

+0

MarcB:我如何在MyWorkbench上執行此操作? – dcpartners

+0

閱讀我鏈接到的文檔。一旦將「外部」數據庫服務器作爲聯合錶鏈接到當前數據庫服務器,那麼聯合查詢應該可以工作,因爲它就像在多個本地表上執行聯合查詢一樣。聯合引擎將透明地將相關查詢發送到遠程服務器。 –