Olá, DouglasCar (!)
um comentário sobre sua expressão sql:
SELECT FProdutor.NomeProd,
FProdEnd.Endereco FROM FProdutor
INNER JOIN FProdEnd ON FProdutor.CodProd = FProdEnd.CodProd
WHERE (FProdutor.CodProd = FProdEnd.CodProd)
neste caso, como as cláusula join e where tratam da mesma comparação, obviamente fazem a mesma coisa. Daí
SELECT FProdutor.NomeProd,
FProdEnd.Endereco FROM FProdutor
INNER JOIN FProdEnd ON FProdutor.CodProd = FProdEnd.CodProd
e
SELECT FProdutor.NomeProd,
FProdEnd.Endereco FROM FProdutor , FProdEnd
WHERE (FProdutor.CodProd = FProdEnd.CodProd)
resultam no mesmo conjunto de registros. Use um ou outra. as duas coisas ao mesmo tempo apenas farão o sgbd ter que trabalhar mais!
[quote]
Só que quando manda exibir o resultado ele pega somente o primeiro produtor da tabela FProdutor, [/quote]
Complementando o que colocou clv (?), o método execute (não seria o executeQuery, que retorna um objeto ResultSet?) apenas cria o objeto. Se é para apresentar o primeiro, o último ou todos é por conta do programador, que deverá providenciar num laço que itere todos objetos da coleção.
[quote]
… cujo CodProd consta na tabela FProdEnd. [/quote]
Tanto a cláusula INNER JOIN quanto WHERE A.ID = B.ID retornarão apenas registros que satisfaçam o critério, ou seja, somente registros que tenham em ambas valores correspondentes.
Se a intenção é apresentar TODOS produtores e endereços SE existirem
a sql deveria ser:
SELECT FProdutor.NomeProd,
FProdEnd.Endereco FROM FProdutor
LEFT JOIN FProdEnd ON FProdutor.CodProd = FProdEnd.CodProd
(note a cláusula LEFT em vex de INNER: quer dizer,todos da tabela à esquerda, e da direita se encontrar algo)
ou, na versão sem a cláusula JOIN, que, entre os principais SGBDs, só não é implementada pelo oracle, apesar estar prevista desde ANSI92!
SELECT FProdutor.NomeProd,
FProdEnd.Endereco FROM FProdutor , FProdEnd
WHERE FProdutor.CodProd = FProdEnd.CodProd
OR FProdEnd is NULL
Agora, com a penúltima sql será possível obter todos produtores em ANSI sql, ou para os de 2ª categoria, pre-ANSI92, a última também deverá resolver!
bob