Comp relacionar estas tabelas ???
Bom dia a todos do forum, estou prescisando de uma ajuda de vcs.
tenho tres tabelas onde uma é de PRODUTOS, FORNECEDOR e a outra é FORNECEDORPRODUTO para guardar informações do codigo por fornecedor, é que tenho que cadastrar um produto para n fornecedores. ENtao gostaria de Listar todos os fornecedor de tal produto.
Campos das tabelas :
PRODUTOS : CodProduto, NomeProduto, Qtde
FORNECEDOR : CodFornecedor, NomeFornecedor, Fantasia
FORNECEDORPRODUTO : Codigo, CodProduto, CodFornecedor
Entao em base da tabela FORNECEDORPRODUTO gostaria de listasse da seguinte forma :
codigo NomeProduto NomeFornecedor
0001 luvas de raspa Luvex
e nao
Codigo CodProduto CodFornecedor
0001 00578 00029
a minha SQL montada esta assim :
SelectTbFornecedorProduto.*, TbFornecedor.Fornecedor as TbFornecedor From TbFornecedorProduto
Inner Join TbFornecedor on TbFornecedor.CodFornecedor = TbFornecedorProduto.CodFornecedor
Where CodProduto = :Codigo Order By TbFornecedorProduto.Codigo
LEMBRANDO QUE ESTOU COM O DELPHI 7, PARADOX, QUERY
Muito obrigado a todos.....
tenho tres tabelas onde uma é de PRODUTOS, FORNECEDOR e a outra é FORNECEDORPRODUTO para guardar informações do codigo por fornecedor, é que tenho que cadastrar um produto para n fornecedores. ENtao gostaria de Listar todos os fornecedor de tal produto.
Campos das tabelas :
PRODUTOS : CodProduto, NomeProduto, Qtde
FORNECEDOR : CodFornecedor, NomeFornecedor, Fantasia
FORNECEDORPRODUTO : Codigo, CodProduto, CodFornecedor
Entao em base da tabela FORNECEDORPRODUTO gostaria de listasse da seguinte forma :
codigo NomeProduto NomeFornecedor
0001 luvas de raspa Luvex
e nao
Codigo CodProduto CodFornecedor
0001 00578 00029
a minha SQL montada esta assim :
SelectTbFornecedorProduto.*, TbFornecedor.Fornecedor as TbFornecedor From TbFornecedorProduto
Inner Join TbFornecedor on TbFornecedor.CodFornecedor = TbFornecedorProduto.CodFornecedor
Where CodProduto = :Codigo Order By TbFornecedorProduto.Codigo
LEMBRANDO QUE ESTOU COM O DELPHI 7, PARADOX, QUERY
Muito obrigado a todos.....
Walter Faria
Curtidas 0
Respostas
Osocram
08/11/2004
Acho q seria algo assim
Seu codigo antigo
Seu novoCodigo
Seu codigo antigo
Select TbFornecedorProduto.*, TbFornecedor.Fornecedor as TbFornecedor From TbFornecedorProduto Inner Join TbFornecedor on TbFornecedor.CodFornecedor = TbFornecedorProduto.CodFornecedor Where CodProduto = :Codigo Order By TbFornecedorProduto.Codigo
Seu novoCodigo
Select p.CodProduto,P.NomeProduto,F.NomeFornecedor from Produtos p inner Join FornecedorProduto FP on FP.CodProduto=P.CodProduto inner Join Fornecedor F on F.CodFornecedor=FP.CodFornecedor Where P.CodProduto = :Codigo Order By P.Codigo
GOSTEI 0
Fer_nanda
08/11/2004
Uma alternativa (mais simples mas com performance inferior)
Só uma sugestão: vc não precisa cria um código para a tabela fornecedorproduto, vc poderia colocar apenas codigoproduto e codigo fornecedor. Faria suas buscas mais ou menos assim ou
Até
select fpr.codigo, pro.NomeProduto, for.NomeFornecedor, from fornecedor for, produto pro, fornecedorproduto fpr where fpr.codigo = :codigo and fpr.codigofornecedor = for.codigofornecedor and fpr.codigoproduto = pro.codigoproduto
Só uma sugestão: vc não precisa cria um código para a tabela fornecedorproduto, vc poderia colocar apenas codigoproduto e codigo fornecedor. Faria suas buscas mais ou menos assim
select * from fornecedorproduto where codigofornecedor = :cod
select * from fornecedorproduto where codigoproduto = :cod
Até
GOSTEI 0
Walter Faria
08/11/2004
Valeu galera ...funcionou corretamente
GOSTEI 0