[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