sql >> Database teknologi >  >> RDS >> Sqlserver

SQL-forespørgsel på flere databaser

Jeg tror, ​​at problemet med dubletter ikke handler om at forbinde de to databaser, men snarere i dit join i første omgang. Jeg tror, ​​du måske har brug for en INNER eller OUTER join for at håndtere sammenkædningen. Hvad angår at få data fra to forskellige databaser, er syntaksen ret enkel. Du tilføjer blot servernavnet prik databasenavnet prik ejernavnet prik tabelnavnet.

For eksempel:

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

I dit eksempel lyder det som om du får linket til at virke, men du har et join-problem i feltet repair_ord. Selvom jeg ikke kender dit skema, vil jeg gætte på, at dette link burde være en INNER JOIN. Hvis du blot tilføjer begge tabeller i FROM-sætningen, og du ikke gør din WHERE-sætning korrekt, vil du få problemer, som du beskriver.

Jeg vil foreslå, at du forenkler denne opsætning og sætter den i et testmiljø (på én DB). Prøv tilslutningen til fire borde, indtil du får det rigtige. Tilføj derefter kompleksiteten af ​​multi-database opkald.



  1. Kører lagrede procedurer i databasetransaktion i Postgres?

  2. Er din database sikret? Tænk igen

  3. Hvorfor har en oracle plsql varchar2-variabel brug for en størrelse, men en parameter ikke?

  4. Hvordan sammenligner man softwareversioner ved hjælp af SQL Server?