2011-11-16 25 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 Workbenchで、この場合には労働組合をどのように行うのですか?

私が使用するフィールドは、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を使用すると、他のdbインスタンスのテーブルを透過的にローカルDBインスタンスにリンクすることで、偽装することができます。これは、ローカルDBサーバーに対して1つのクエリを発行し、クエリを外部DBインスタンスに渡すバックグラウンド作業を処理します。

+0

MarcB:MyWorkbenchでこれを行うにはどうしたらいいですか? – dcpartners

+0

私がリンクしているドキュメントを読んでください。 '外部' DBサーバーを現在のDBサーバーにフェデレーテッド・テーブルとしてリンクすると、複数のローカル・テーブルでユニオン・クエリーを行うのとまったく同じであるため、ユニオン・クエリーが機能します。フェデレーションされたエンジンは、関連するクエリを透過的にリモートサーバーに送信します。 –

関連する問題