Fórum Grande dúvida em chave estrangeira. #454941
11/09/2013
0
na minha tabela chamada "cargo" eu tenho a chave primaria chamada CodCargo e uma chave estrangeira no campo também chamado CodCargo na tabela "funcionarios".
deu tudo certinho e tal, mais quando dou um
SELECT * FROM
Fonte da minha tabela "cargo"
CREATE TABLE `cargo` ( `CodCargo` int(11) NOT NULL AUTO_INCREMENT, `NomeCargo` varchar(50) NOT NULL, `ValorCargo` decimal(10,2) DEFAULT NULL, PRIMARY KEY (`CodCargo`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `funcionario` (
`Matricula` int(11) NOT NULL AUTO_INCREMENT,
`NomeFuncionario` varchar(80) NOT NULL,
`CodCargo` int(11) NOT NULL,
PRIMARY KEY (`Matricula`),
KEY `fk_CodCargo` (`CodCargo`),
CONSTRAINT `fk_CodCargo` FOREIGN KEY (`CodCargo`) REFERENCES `cargo` (`CodCargo`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Fonte da minha tabela "funcionario"
Raniel Gomes
Curtir tópico
+ 0Posts
12/09/2013
Raniel Gomes
Gostei + 0
12/09/2013
Roniere Almeida
Gostei + 0
13/09/2013
Raniel Gomes
Gostei + 0
13/09/2013
Raniel Gomes
Gostei + 0
19/09/2013
William
Tente assim:
SELECT F.Matricula, F.NomeFuncionario, C.NomeCargo FROM funcionario F LEFT JOIN cargo C ON F.CodCargo = C.CodCargo
Qualquer dúvda poste novamente ...
Gostei + 0
19/09/2013
William
Colega Roniere, não tem problema usar o mesmo nome de campo em tabelas distintas, só que obriga utilizar um "alias" na instrução SQL para identificar a qual tabela pertence o campo que está sendo solicitado.
Gostei + 0
19/09/2013
Alex Lekao
So lembrando que na utilizacao dos joins da vida tem-se que levar em consideracoes algumas coisa para quando vc for montar o codigo, como o produto cartesiano que em alguns codigos eh montado, no caso de usar o INNER JOIN ele devera mostrar os dados que sejam iguais nos dois, no caso usa aquele esquema da matematica do esta contido.
da uma olhada nesta imagem para te ajudar a ter uma ideia do funcionamento dos joins... para mim foi muito util.
https://skydrive.live.com/?mkt=pt-BR#cid=23DBEAB240EB869A&id=23DBEAB240EB869A%211510&v=3
Espero ter ajudado.
Abraco.
Alex - Lekao
Gostei + 0
19/09/2013
Raniel Gomes
Gostei + 0
19/09/2013
William
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)