Możesz odwoływać się bezpośrednio do innych baz danych, jeśli użytkownik ma uprawnienia.
<database>.<user>.<tablename>
To pełna „ścieżka” do tabeli bazy danych.
Często używasz
db1.dbo.tbl1 join db2.dbo.tbl2
gdzie dbo jest domyślnym właścicielem bazy danych, każda tabela nienależąca do określonego użytkownika jest domyślnie własnością dbo.
UPDATE
Aby zapytanie zostało zweryfikowane, możesz je rozwinąć do tego
SELECT * FROM
(SELECT a.concession as db1_CON_NUMBER FROM db1.dbo.concessions as a
UNION
SELECT b.[Concession Number] as db1_CON_NUMBER FROM db1.dbo.invoicing as b ) c
INNER JOIN
(SELECT c.concession as db2_CON_NUMBER FROM db2.dbo.concessions as a
UNION
SELECT b.[Concession Number] as db2_CON_NUMBER FROM db2.dbo.invoicing as b ) d
ON db1_CON_NUMBER = db2_CON_NUMBER
Ale nie miałem czasu sprawdzić, czy to zwróci właściwe dane, ale możesz to przetestować.