Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Zapytanie SQL w wielu bazach danych

Myślę, że problem duplikatów nie polega na łączeniu dwóch baz danych, ale przede wszystkim na łączeniu. Myślę, że do obsługi łączenia może być potrzebne złącze INNER lub OUTER. Jeśli chodzi o pobieranie danych z dwóch różnych baz danych, składnia jest dość prosta. Wystarczy dodać nazwę serwera kropka nazwa bazy danych kropka nazwa właściciela kropka nazwa tabeli.

Na przykład:

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

W twoim przykładzie wygląda na to, że otrzymujesz link do pracy, ale masz problem z połączeniem w polu repair_ord. Chociaż nie znam twojego schematu, przypuszczam, że ten link powinien być INNER JOIN. Jeśli po prostu dodasz obie tabele w instrukcji FROM i nie wykonasz poprawnie instrukcji WHERE, wpadniesz w kłopoty, tak jak opisujesz.

Sugerowałbym uproszczenie tej konfiguracji i umieszczenie jej w środowisku testowym (na jednej bazie danych). Wypróbuj sprzężenie czterostolikowe, aż uzyskasz właściwe rozwiązanie. Następnie dodaj złożoność wywołań wielu baz danych.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Parametry wyjściowe procedury składowanej w programie SQL Server Profiler

  2. Odzyskaj bazę danych z trybu awaryjnego w SQL Server

  3. Rozwiązania dotyczące bezbłędnego odczytywania pliku dziennika transakcji programu SQL Server

  4. dynamiczna oś sql na serwerze sql

  5. Korzystanie z klauzuli With SQL Server 2008