Consultar Bancos Diferentes

Gostaria de saber se tem como eu consultar bancos diferentes, no caso tabelas de bancos direntes.

Exemplo:

select * from banco1.[Pedidos de Compra]
INNER JOIN  banco2.[Pedidos de Compra]
ON banco1.[Pedidos de Compra].[Cidade de Cobrança] = 
        banco2.[Pedidos de Compra].[Cidade de Cobrança]

Preciso fazer isso no serviço porem não estou conseguindo

qual SGBD você tem aí ? Se for Oracle por exemplo você pode usar DATABASELINK

1 curtida

Então utilizo SQL ser ver 2008

No SQLServer você pode fazer assim:

select tabela1.*
from banco1.dbo.nome_tabela tabela1
inner join banco2.dbo.nome_tabela2 tabela2
on tabela1.campo1 = tabela2.campo2

o pulo do gato é que o usuário conectado no banco tenha permissão para acessar os dois bancos.

Brother da um salve ai , eu fiz desse jeito porem esta dando erro , estou mandando um exemplo.

select Pedidos de Compra * from FOX_00001.dbo.[Pedidos de Compra] Pedidos de Compra

Inner join FOX_00002.dbo.[Pedidos de Compra] Pedidos de Compra

on Pedidos de Compra.empresa = Pedidos de Compra.empresa

No caso Quero consultas a tabela de Pedidos de compra tanto do 1 e do 2

Bom, precisaria ver o erro que te retorna pra dar respostas mais assertivas, mas olhando esse comando que você postou dá pra identificar dois problemas: o alias que você atribui às tabelas não pode ter espaços e também não pode ser o mesmo para as duas tabelas. Veja um possível ponto de partida:

select pedidos_de_compra_1.* 
from 
FOX_00001.dbo.[Pedidos de Compra] pedidos_de_compra_1
inner join 
FOX_00002.dbo.[Pedidos de Compra] pedidos_de_compra_2
on pedidos_de_compra_1.empresa = pedidos_de_compra_2

E se atente ao seguinte… quando você escreve pedidos_de_compra_1.* o banco vai te retornar todos os campos da tabela do banco 1 certo ?

Brother Consegui muito obrigado.