Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Truy vấn SQL trên nhiều cơ sở dữ liệu

Tôi nghĩ vấn đề trùng lặp không phải là do bạn tham gia hai cơ sở dữ liệu mà là do bạn tham gia ngay từ đầu. Tôi nghĩ rằng bạn có thể cần tham gia INNER hoặc OUTER để xử lý liên kết. Đối với việc lấy dữ liệu từ hai cơ sở dữ liệu khác nhau, cú pháp khá đơn giản. Bạn chỉ cần thêm tên máy chủ chấm tên cơ sở dữ liệu chấm tên chủ sở hữu chấm tên bảng.

Ví dụ:

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

Trong ví dụ của bạn, có vẻ như bạn đang nhận được liên kết để hoạt động nhưng bạn gặp sự cố liên kết trên trường repair_ord. Mặc dù tôi không biết giản đồ của bạn, nhưng tôi đoán rằng liên kết này phải là một INNER JOIN. Nếu bạn chỉ thêm cả hai bảng vào câu lệnh FROM và bạn không thực hiện đúng câu lệnh WHERE của mình, bạn sẽ gặp rắc rối như bạn đang mô tả.

Tôi khuyên bạn nên đơn giản hóa thiết lập này và đặt nó trong môi trường thử nghiệm (trên một DB). Hãy thử tham gia bốn bàn cho đến khi bạn làm đúng. Sau đó, thêm vào sự phức tạp của các lệnh gọi đa cơ sở dữ liệu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cập nhật dữ liệu thông qua một hàm có giá trị bảng trong SQL Server

  2. Nếu Bản ghi Tồn tại, Cập nhật Phụ trang Khác

  3. Cách tạo lập trình sao lưu toàn bộ cơ sở dữ liệu SQL Server 2008 trong thư mục mong muốn

  4. lỗi sql động:'CREATE TRIGGER' phải là câu lệnh đầu tiên trong lô truy vấn

  5. Điểm kiểm tra cơ sở dữ liệu trong SQL Server