[firebase-br] SQL
Forrest®
fernando em gramatura.com.br
Qua Mar 7 16:18:34 -03 2007
Vander wrote:
> Boa Tarde
>
> Tenho duas tabelas Funcionario e Setor
>
> TB_Funcionario
> FUNC_ID
> FUNC_NOME
>
> TB_SETOR
> SETOR_ID
> SETOR_NOME
>
> o campo setor_id é FK na TB_Funcionario
> e estou fazendo uma pesquisa mas naum esta dando certo
>
> fiz um teste no IBEXPERT
>
> select * from funcionario,setor
>
> mas retornou varios registros errado
>
> TB_FUNCIONARIO tem 5 cadastros
> TB_SETOR tem 4 setor
>
> esta retornando por exemplo
> funcionario PAULO esta mostrando ele em todos os setores isso
> acontesse em todos os funcionario, como resolver
>
> e outra duvida é como eu fasso para mostrar o o codigo do funcionario
> o nome do funcionario e o nome do setor em uma busca exemplo
>
> FUNC_ID FUNC_NOME SETOR_NOME
> 01 PAULO INFORMÁTICA
> 02 CESAR HELP DESK
---
Bom vamos lá então com a tabela de Funcionários eu suponho que a PK
seja o FUNC_ID que se transforma em SETOR_ID na tabela setores certo?
E a tabela de Setor não tem PK ou o campo SETOR_NOME é a PK?
Como isso não ficou muito claro vou te ajudar como eu entendi que seja
as tabelas e seus relacionamentos.
Você quer mostrar em sua consulta o resultado de cima entã faça assim:
SELECT F.FUNC_ID, F.FUNC_NOEM, S.SETOR_NOME
FROM TB_FUNCIONARIO F LEFT OUTER JOIN TB_SETOR S ON(F.FUNC_ID =
S.SETOR_ID)
ORDER BY F.FUNC_ID
Sendo que o order by é só para ordenar pelo código do funcionario e
pode ser ordenado por qualquer campo. Mas vale a pena ver se as PKs
estão certas para não tornar a consulta muito lentas, qualquer duvida
poste mais detalhes
T++++++++++++++++++
--
Mais detalhes sobre a lista de discussão lista