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.