2017-10-05 19 views
0

私はワークベンチのlocalhostとリモートサーバーのインスタンスshopify_data(デフォルトのスキーマsales_report)に2つの異なるインスタンスを持っています。今私は、localhostと他のテーブルにあるsales.report内のリモートサーバshopify_dataのshopify_ordersにあるテーブルzipcodeからデータを取得したいと思います。mysql workbenchは複数のデータベースに接続します

クエリは次のようになります。

SELECT Name, billing_zip, Billing_Name, Billing_Address1,Billing_Address2, Lineitem_name, Created_at 
    FROM sales_report.shopify_orders 
WHERE Created_at between '2017-08-31' and '2017-09-21' and Billing_Zip in (select zip_code from zipcode); 

それはエラーを与える:

sales_report.shopify_orders does not exists.

どのように私はshopify_dataインスタンスに私の地元のホストインスタンスを接続して、同じクエリ内のデータを取得することができます。

ありがとうございました。

ディーパック

PS:値はそれぞれ順に変化する動的に保持し、私はそれがアクセスすることはできません

答えて

0

をインポート繰り返したくないので、私は、ローカルホストにshopify_ordersをインポートしません単一の接続で異なるサーバーに格納されたデータをMySQLで共有します。あなたは常に1つのサーバへの接続を開き、そのサーバ上で利用可能なDBオブジェクトを扱うことができます(あなたにはその特権があります)。

federated tablesというオプションがあります。より正確に言えば、それはストレージエンジンであり、ローカル・テーブル内のリモート・サーバー上のデータをホストすることができます。ローカル・テーブルとリモート・データの両方でジョインできます。しかし、そのようなテーブルを最初に定義する必要があり、FKを使用することはできません(その他の制限があります)。

+0

、応答をありがとう異なるデータベースとの接続のアイデアは周りとそれら全体で再生することであるといえ、その直感的ではないですが、悲しいことに、それはなんとかですが、多くの制限:( –

+0

異なるデータベース(別名スキーマ)と異なるサーバーと同じではありませんが、同じサーバーインスタンス上にある限り、クエリ内で複数のスキーマを併用することはもちろん可能です。 –

関連する問題