sql >> データベース >  >> RDS >> Sqlserver

複数のデータベースでのSQLクエリ

    重複の問題は、2つのデータベースを結合することではなく、そもそも結合することであると思います。リンクを処理するには、INNERまたはOUTERの結合が必要になると思います。 2つの異なるデータベースからデータを取得する場合、構文はかなり単純です。サーバー名ドット、データベース名ドット、所有者名ドット、テーブル名ドットを追加するだけです。

    例:

    SELECT firstdb.*, seconddb.*
    FROM Server1.Database1.dbo.myTable AS firstdb
    INNER JOIN Server2.Database2.dbo.myTable AS seconddb
       ON firstdb.id = seconddb.id
    

    あなたの例では、リンクが機能しているように見えますが、repair_ordフィールドに結合の問題があります。あなたのスキーマはわかりませんが、このリンクは内部結合である必要があると思います。 FROMステートメントに両方のテーブルを追加するだけで、WHEREステートメントを適切に実行しないと、説明しているように問題が発生します。

    このセットアップを簡略化して、テスト環境(1つのDB上)に配置することをお勧めします。正しくなるまで、4つのテーブルの結合を試してください。次に、マルチデータベース呼び出しの複雑さを追加します。



    1. コマンドラインで指定されていない場合にのみ、psql-scriptで変数を設定します

    2. pg_restoreは既存のテーブルを上書きしますか?

    3. Oracleの時間値にメリディエムインジケーター(AM / PM)を追加する方法

    4. 結合されたテーブルから特定のプロパティを持つ行を無視するためのSQL