Barsotti 0 Denunciar post Postado Abril 21, 2016 Tenho uma tabela chamada qcp com 46 registros. Fiz um inner join da tabela qcp com a tabela postgrad (conforme a baixo). SELECT postgrad.postgrad_nome,qcp.qcp_nome FROM qcp INNER JOIN postgrad ON postgrad.postgrad_nome = qcp.postgrad_id Só que o resultado traz apenas 17 resultados. Estou começando agora no MySQL e não tenho ideia do que pode ser. Alguém pode me dar uma luz? O ambiente é um Wamp rodando numa VM Windows 7. Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Abril 21, 2016 Antes leia. http://www.devmedia.com.br/inner-cross-left-rigth-e-full-joins/21016 Compartilhar este post Link para o post Compartilhar em outros sites
Barsotti 0 Denunciar post Postado Abril 22, 2016 O CROSS JOIN funcionou igual ao do tutorial. SELECT postgrad.postgrad_nome,qcp.qcp_nome FROM qcp CROSS JOIN postgrad Essa consulta retornou 644 resultados (a tabela qcp tem 46 registros e a tabela postgrad tem 14 registros, 4*14 = 644 - bingo!)Mas eu preciso que o resultado seja 1 para 1 (preciso que retorne os 46 registros da tabela qcp relacionados com os respectivos campos da tabela postgrad). Pelo que eu entendi do tutorial, isso seria conseguido através do INNER JOIN (que foi o que eu tentei no começo, com o código descrito no primeiro post)E continua retornando os apenas os mesmos 17 campos, que ainda por cima, não estão corretamente relacionados.A estrutura das tabelas é a seguinte: https://drive.google.com/file/d/0BxVSJEv508jVcFZCUUpjaHNQYWM/view?usp=sharing https://drive.google.com/file/d/0BxVSJEv508jVcHd2NEdybXpmUTA/view?usp=sharing Compartilhar este post Link para o post Compartilhar em outros sites
lokaodomau 61 Denunciar post Postado Abril 22, 2016 O INNER JOIN só retorna o que há relação, os registros que não tem ligação não são retornados. Então se todos os 47 registros da primeira tabela devem ter relação com a segunda, então está faltando relacionamento, pois lá só existem 14 registros. (Eu não consegui entender o objetivo) Compartilhar este post Link para o post Compartilhar em outros sites
Barsotti 0 Denunciar post Postado Abril 23, 2016 Todos os registros tem relação. Acho que o problema não deve ser de relacionamento, pois estão vindo registros repetidos, e com relacionamentos trocados. Dei um drop database e comecei tudo de novo, e deu exatamente o mesmo erro com os mesmos registros. Pensei que poderia ser algum pau na interface entre o navegador e o WAMP e tentei fazer a consulta direto pelo terminal do mySQL e o erro ainda persiste. Começo a desconfiar que o problema deva ser BIOS... Vou pegar algum exemplo básico pronto na internet e testar para ver se o WAMP retorna os resultados corretos... Compartilhar este post Link para o post Compartilhar em outros sites
lokaodomau 61 Denunciar post Postado Abril 25, 2016 Se não for pedir demais, pode postar os registros das duas tabelas pra gente dar uma olhada? Compartilhar este post Link para o post Compartilhar em outros sites