¿Podemos usar la operación de unión para dos tablas de diferentes bases de datos? Si es así, ¿cómo hacerlo?¿Podemos usar join para dos tablas de base de datos diferentes?
Ambas bases de datos están en el mismo servidor y el DBMS es el mismo.
¿Podemos usar la operación de unión para dos tablas de diferentes bases de datos? Si es así, ¿cómo hacerlo?¿Podemos usar join para dos tablas de base de datos diferentes?
Ambas bases de datos están en el mismo servidor y el DBMS es el mismo.
SQL Server le permite unir tablas de bases de datos diferentes siempre que esas bases de datos estén en el mismo servidor. La sintaxis de unión es la misma; la única diferencia es que debe especificar completamente los nombres de las tablas.
Supongamos que tiene dos bases de datos en el mismo servidor: Db1
y Db2
. Db1
tiene una tabla llamada Clients
con una columna ClientId
y tiene una tabla llamada Messages
con una columna ClientId
(dejemos de lado por qué esas tablas están en bases de datos diferentes).
Ahora, para realizar una combinación en las tablas antes mencionadas que va a utilizar esta consulta:
select *
from Db1.dbo.Clients c
join Db2.dbo.Messages m on c.ClientId = m.ClientId
Simple y útil ... gran respuesta – Vikram
Esta debería ser la respuesta aceptada. – JYL
Quizás debería notarse que ambas bases de datos deben ser accesibles en el mismo contexto de seguridad. En otras palabras, si inicia sesión con diferentes credenciales para las dos bases de datos, lo anterior no funcionará. En ese caso, probablemente tenga que usar "Servidores enlazados". –
SELECT ...
FROM A.table t1
JOIN B.table2 t2 ON t2.column = t1.col
@vivekrai - En ese caso, todo lo que necesita es anteponer su nombrebasedatos en su cláusula select . Algo como 'SELECT * FROM DBOne.dbo.Table1 AS t1 INNER JOIN DBTwo.dbo.Table2 t2 ON t2.ID = t1.ID' –
¿Cerrado como" demasiado localizado "? De Verdad ? Con 10 000 visitas? Es una locura ! – JYL
¿por qué aceptó esa respuesta si no tiene nada que ver con su pregunta? – vivoconunxino