consulta, join com 2 foreign
02/08/2004
0
Pessoal, estou com uma coisa chata de resolver aqui..
tenho 2 foreign em uma tabela principal que aponta para uma primary de uma tabela secundaria.
Eu queria de saber como voces fariam ´join´ para mostrar os dados da secundaria que esta definida nessa primaria.
abaixo a estrutura das tabelas..
no final coloquei minha solução(que eu acho que não é a mais correta)
------script-----
create table Funcionario(
Cod_Funcint Primary Key,
Nome_Funcchar(30)
)
insert funcionario values (1,´Alexandre´)
insert funcionario values (2,´Marcos´)
insert funcionario values (3,´Sueli´)
insert funcionario values (4,´Ricardo´)
insert funcionario values (5,´Thiago´)
create table Servico(
Cod_Servint Primary Key,
Contatoint,
Tecnicoint,
CONSTRAINT FK_Contato Foreign Key (Contato) References Funcionario(Cod_Func),
CONSTRAINT FK_Tecnico Foreign Key (Tecnico) References Funcionario(Cod_Func)
)
insert servico values (1,1,2)
insert servico values (2,1,3)
insert servico values (3,1,4)
insert servico values (4,2,1)
insert servico values (5,2,3)
insert servico values (6,2,5)
insert servico values (7,5,4)
----com subquery:
select
(select nome_func from funcionario f where f.cod_func = s.tecnico),
(select nome_func from funcionario f where f.cod_func = s.contato)
from servico s
--com join????
tenho 2 foreign em uma tabela principal que aponta para uma primary de uma tabela secundaria.
Eu queria de saber como voces fariam ´join´ para mostrar os dados da secundaria que esta definida nessa primaria.
abaixo a estrutura das tabelas..
no final coloquei minha solução(que eu acho que não é a mais correta)
------script-----
create table Funcionario(
Cod_Funcint Primary Key,
Nome_Funcchar(30)
)
insert funcionario values (1,´Alexandre´)
insert funcionario values (2,´Marcos´)
insert funcionario values (3,´Sueli´)
insert funcionario values (4,´Ricardo´)
insert funcionario values (5,´Thiago´)
create table Servico(
Cod_Servint Primary Key,
Contatoint,
Tecnicoint,
CONSTRAINT FK_Contato Foreign Key (Contato) References Funcionario(Cod_Func),
CONSTRAINT FK_Tecnico Foreign Key (Tecnico) References Funcionario(Cod_Func)
)
insert servico values (1,1,2)
insert servico values (2,1,3)
insert servico values (3,1,4)
insert servico values (4,2,1)
insert servico values (5,2,3)
insert servico values (6,2,5)
insert servico values (7,5,4)
----com subquery:
select
(select nome_func from funcionario f where f.cod_func = s.tecnico),
(select nome_func from funcionario f where f.cod_func = s.contato)
from servico s
--com join????
Alesp84
Curtir tópico
+ 0
Responder
Posts
02/08/2004
Daniela
Veja
select S.*, T.*, C.* from Servico S
inner join Funcionario T on S.Tecnico = T.Cod_Func
inner join Funcionario C on S.Contato = C.Cod_Func
select S.*, T.*, C.* from Servico S
inner join Funcionario T on S.Tecnico = T.Cod_Func
inner join Funcionario C on S.Contato = C.Cod_Func
Responder
03/08/2004
Alesp84
Muuuuuuito obrigado danielaaa..
mto obrigado mesmo
vc salvou minha vida :)
mto obrigado mesmo
vc salvou minha vida :)
Responder
Clique aqui para fazer login e interagir na Comunidade :)