djenir 0 Denunciar post Postado Setembro 25, 2014 Estou fazendo um select em 2 tabelas innodb pai e filho: select * from pai, filho where codigo = 2 resultado pai 2 e filho do pai 1 codigo | nome | filho_codigo | chave_pai | filho_nome 2 pedro 1 1 marcos se eu fizer uma consulta relacionando as chaves estrangeiras: SELECT * FROM pai,filho WHERE codigo = 2 and codigo = chave_pai o resultado é: O MySQL retornou um conjunto vazio (ex. zero registros). (Consulta levou 0.0003 segundos) como fazer para ter um retorno de somente o pai, com as colunas de filho zeradas? ---- Estrutura para tabela `pai`--CREATE TABLE IF NOT EXISTS `pai` ( `codigo` int(8) NOT NULL AUTO_INCREMENT, `nome` varchar(30) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`codigo`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;---- Fazendo dump de dados para tabela `pai`--INSERT INTO `pai` (`codigo`, `nome`) VALUES(1, 'joão'),(2, 'pedro'); ---- Estrutura para tabela `filho`--CREATE TABLE IF NOT EXISTS `filho` ( `filho_codigo` int(8) NOT NULL AUTO_INCREMENT, `chave_pai` int(8) NOT NULL, `filho_nome` varchar(30) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`filho_codigo`,`chave_pai`), KEY `pai_filho` (`chave_pai`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=2 ;---- Fazendo dump de dados para tabela `filho`--INSERT INTO `filho` (`filho_codigo`, `chave_pai`, `filho_nome`) VALUES(1, 1, 'marcos');---- Restrições para dumps de tabelas------ Restrições para tabelas `filho`--ALTER TABLE `filho` ADD CONSTRAINT `pai_filho` FOREIGN KEY (`chave_pai`) REFERENCES `pai` (`codigo`) ON DELETE CASCADE ON UPDATE CASCADE; Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Setembro 25, 2014 Use OUTER JOIN Compartilhar este post Link para o post Compartilhar em outros sites
djenir 0 Denunciar post Postado Setembro 25, 2014 usei SELECT * from pai LEFT JOIN filho ON codigo=chave_pai where codigo = 2 funcionou, obrigado a tabela filho voltou com os campos nulo e se o coido = 1 retorna todos os campos valeu Compartilhar este post Link para o post Compartilhar em outros sites