Fórum Select From OpenQuery Com INNER JOIN #618797
09/10/2022
0
Olá,
estou tentando criar uma view onde eu agrego colunas específicas e filtrada.
Consigo fazer do meu localhost, mas estou tentando adicionar os mesmos dados de outra instância de outra maquina na rede.
Este é o meu código:
estou tentando criar uma view onde eu agrego colunas específicas e filtrada.
Consigo fazer do meu localhost, mas estou tentando adicionar os mesmos dados de outra instância de outra maquina na rede.
Este é o meu código:
select MODELO.DESCRICAO, (MODELO.ITEM), MODELO.DTHORA FROM MODELO INNER JOIN TESTE ON MODELO.ID = TESTE.ID INNER JOIN ESCOLA ON MODELO.IDESCOLA = ESCOLA.IDESCOLA where TESTE.IDMODELO = ''''65'''' and (ESCOLA.IDGRUPO= ''''99'''') Union All SELECT DESCRICAO, ITEM, DTHORA FROM OPENQUERY ("CX3-PC\SQLDEV", ''''SELECT * FROM ERPSystem.dbo.MODELO'''') INNER JOIN TESTE ON MODELO.ID = TESTE.ID INNER JOIN ESCOLA ON MODELO.IDESCOLA = ESCOLA.IDESCOLA where TESTE.IDMODELO = ''''65'''' and (ESCOLA.IDGRUPO= ''''99'''')

Alan Oliveira
Curtir tópico
+ 0
Responder
Posts
26/12/2022
Arthur Heinrich
Você não atribuiu um alias para a tabela acessada pelo OPENQUERY(). Portanto, ao efetuar o join, o banco não sabe qual é a tabela MODELO.
Alterar a linha:
FROM OPENQUERY ("CX3-PC\\SQLDEV", ''''SELECT * FROM ERPSystem.dbo.MODELO'''')
Para:
FROM OPENQUERY ("CX3-PC\\SQLDEV", ''''SELECT * FROM ERPSystem.dbo.MODELO'''') MODELO
Isto provavelmente resolve o problema de sintaxe, mas não resolve outros problemas como o de performance.
Sua query sempre retorna toda a tabela MODELO pela rede. Para minimizar o tráfego de dados, limite a sua consulta às colunas necessárias:
FROM OPENQUERY ("CX3-PC\\SQLDEV", ''''SELECT ID, IDESCOLA, ... FROM ERPSystem.dbo.MODELO'''') MODELO
Não parece algo que deva ser executado frequentemente. Do contrário, é melhor repensar.
Alterar a linha:
FROM OPENQUERY ("CX3-PC\\SQLDEV", ''''SELECT * FROM ERPSystem.dbo.MODELO'''')
Para:
FROM OPENQUERY ("CX3-PC\\SQLDEV", ''''SELECT * FROM ERPSystem.dbo.MODELO'''') MODELO
Isto provavelmente resolve o problema de sintaxe, mas não resolve outros problemas como o de performance.
Sua query sempre retorna toda a tabela MODELO pela rede. Para minimizar o tráfego de dados, limite a sua consulta às colunas necessárias:
FROM OPENQUERY ("CX3-PC\\SQLDEV", ''''SELECT ID, IDESCOLA, ... FROM ERPSystem.dbo.MODELO'''') MODELO
Não parece algo que deva ser executado frequentemente. Do contrário, é melhor repensar.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)