rootzig 1 Denunciar post Postado Janeiro 19, 2011 Boa tarde, não estou conseguindo resolver o seguinte problema, os resultado estão vindo certos, vem pra mim 4 nomes iguais, preciso que só mostre um id_funcionario nome 60 teste 60 teste 60 teste 60 teste 43 teste1 43 teste1 43 teste1 43 teste1 a consulta que estou fazendo é a seguinte: SELECT funcionario.*, ponto.*, tbunidades.* FROM funcionario INNER JOIN ponto ON(funcionario.id_funcionario = ponto.id_funcionario ) INNER JOIN tbunidades ON(funcionario.id_unidade = tbunidades.ID_UNIDADES) valeu, té mais Compartilhar este post Link para o post Compartilhar em outros sites
C. Medeiros 0 Denunciar post Postado Janeiro 19, 2011 Me parece que está faltando "join" para ele repetir, ou está repetido mesmo? Posta a estrutura das tabelas e suas ligações Compartilhar este post Link para o post Compartilhar em outros sites
Go Back 0 Denunciar post Postado Janeiro 19, 2011 Group By ID, Nome Compartilhar este post Link para o post Compartilhar em outros sites
C. Medeiros 0 Denunciar post Postado Janeiro 19, 2011 O group by vai funcionar, mas se a query estiver percorrendo mais registros do que deveria por falta de join vai ter uma perda de performance, pode ser pouca, mas o quanto mais otimizar as query melhor Compartilhar este post Link para o post Compartilhar em outros sites
Go Back 0 Denunciar post Postado Janeiro 19, 2011 vem pra mim 4 nomes iguais, preciso que só mostre um De acordo com o autor do tópico está repetindo os registros de sua consulta. Ele precisa que lhe traga somente um registro. A solução foi postada. Rootzig. Uma dica, coloque no SELECT somente o que você quer mostrar, isso evita esforço computacional. Por exemplo, na sua consulta você colocou * nas três tabelas. Exemplo: SELECT funcionario.id_funcionario funcionarios.nome tbunidades.unidade ponto.nome_ponto FROM funcionario INNER JOIN ponto ON ponto.id_funcionario = funcionario.id_funcionario INNER JOIN tbunidades ON tbunidades.id_unidade = funcionario.id_unidade Compartilhar este post Link para o post Compartilhar em outros sites
rootzig 1 Denunciar post Postado Março 15, 2011 Valeu a todos ae, consegui aqui, usei o DISTINCT acabei mudando a select para: SELECT DISTINCT p.data,f.nome,u.UNIDADE,p.falta FROM funcionario as f INNER JOIN ponto as p ON f.`id_funcionario` = p.`id_funcionario` INNER JOIN tbunidades as u ON f.`id_unidade` = u.ID_UNIDADES WHERE falta = 'FA' Compartilhar este post Link para o post Compartilhar em outros sites