Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rootzig

[Resolvido] Consulta Mysql Retornar Um Resultado Por Nome

Recommended Posts

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.