Como fazer IBQuery com 2 databases ou mais?

05/11/2005

Eu quero fazer uma ibquery ligando 2 databases diferentes, eu tenho uma query que faz isto, porém quando coloco uma ibquery ele requer UM database
ex:
Select NumCliente, Cliente, Tipo, Cgc, Cpf from DATABASE1.Clientes as Clientes1 and DATABASE2.Clientes as Clientes2
Where ((Clientes2.Cliente = Clientes1.Cliente) or (Clientes2.Cgc = Clientes1.Cgc) or (Clientes2.Cpf = Clientes1.Cpf))
Seria algo mais os menos parecido com isto, de forma que a comparação seja feita entre pessoas (ou outra coisa qualquer) de uma tabela de um database seja igual a mesma coisa em outra de outra tabela eu outro database. A idéia é buscar por pessoas ou produtos que estejam cadastrados em mais de uma filial, os databases estão no mesmo computador em diretorios separados.
O primeiro exemplo abaixo funciona com piradox para busca de clientes e o segundo para busca de produtos.

1)Select NumCliente, Cliente, Tipo, Cgc, Cpf from Loja2\Clientes as Clientes
Where ((Clientes.Cliente = :Nome) or (Clientes.Cgc = :Cpf) or
(Clientes.Cpf = :Cpf))

2)Select Produtos1.NumProduto, Produtos1.Divisao,Produtos1.Ativo, Produtos1.Nome,Produtos1.Fabricante, Produtos1.Minimo as Min1, Produtos1.Maximo as Max1,Produtos1.Estoque as Estq1, Produtos1.EstoqueAnterior, Produtos1.PrecoCompra, Produtos1.UltimoPreco, Produtos1.UltimaCompra,
Produtos1.UltimaVenda, Produtos1.UltQuant, Produtos1.Data,
Produtos2.Minimo as Min2, Produtos2.Maximo as Max2,
Produtos2.Estoque as Estq2, Produtos3.Minimo as Min3,
Produtos3.Maximo as Max3, Produtos3.Estoque as Estq3
From Loja1\Produtos as Produtos1, Loja2\Produtos as Produtos2,
Loja3\Produtos as Produtos3
Where ((Produtos2.CodigoBarra = Produtos1.CodigoBarra) and (Produtos3.CodigoBarra =
Produtos1.CodigoBarra) and (Produtos1.Divisao <> ´S´)) and ((Produtos1.Estoque <= Produtos1.Minimo) or
(Produtos2.Estoque <= Produtos2.Minimo) or (Produtos3.Estoque <= Produtos3.Minimo))
Order by Produtos1.Nome


Edilcimar

Respostas

06/11/2005

Edilcimar

sobe


Responder Citar

06/11/2005

Firekiller

Infelizmente o Ib/Fb não tem suporte a multiplos bancos em uma instrução select. O que você pode fazer é ter 2 IBDatabases, cada um acessando um banco, então faz a pesquisa para os 2.


Responder Citar

15/11/2005

Edilcimar

O problema é que tenho 2 bancos 1 de uma filial e outro de outra, aí quero saber como está o estoque das 2, mostrar na tela para calcular as faltas e efetuar as compras. Suponha banco1->produtos e banco2->produtos, faço uma query para verificar o estoque, se em qualquer loja o estoqueatual for menor que o estoqueminimo então tem que aparecer o estoque das 2 lojas no dbgrid


Responder Citar