Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

JoaoVM

Dados não são repetidos ficam repetidos

Mensagens Recomendadas

JoaoVM

Bom dia,

Tenho uma dúvida, tenho uma tabela que pretendo passar para excel a partir da minha base de dados. Essa base de dados os dados não são repetidos, mas quando executo a consulta cada linha aparece 4 ou 5 vezes quando só existe um registo de cada. alguem sabe como posso corrigir, já utilizei o DISTINCT mas não consegui porque pode haver dados repetidos, o que não é o caso.

SELECT pnome, unome, id_turno, data, hora, nome, id_posto,avaliacao FROM funcionarios F inner join linha L on F.linha=L.id_linha inner join flexibilidade FX on L.id_linha=FX.id_linha inner join avaliacao A on FX.id_avaliacao=A.id_avaliacao where linha='126';

Cumprimentos,

João Martins

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
brunoais

SELECT pnome,
      unome,
      id_turno,
      data,
      hora,
      nome,
      id_posto,
      avaliacao
FROM   funcionarios F
      INNER JOIN linha L
              ON F.linha = L.id_linha
      INNER JOIN flexibilidade FX
              ON L.id_linha = FX.id_linha
      INNER JOIN avaliacao A
              ON FX.id_avaliacao = A.id_avaliacao
WHERE  linha = '126'; 

Vejamos...

Ao fazeres INNER JOIN ele irá repetir linhas tanto quanto o mínimo possível de modo a que todos os dados apareçam como indicaste.

Algo do tipo:

Tab1                Tab2
ida | numa            idb | numb
1   50                1    3
                       1    6

Quando se junta os dois (INNER JOIN), fica:

Tab3
ida | numa | idb | numb
1   50       1    3
1   50       1    6

Ele repete os dados da que tem menos dados de modo a mostrar todos os dados que pediste.

Experimenta executar essa query no phpMyAdmin e repara na resposta.

Editado por brunoais

"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
JoaoVM

sim eu sei, já fiz no phpmyadmin, mas como faço para não os repetir?não consigo não os repetir já tentei de varias maneiras.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
brunoais

Isso depende dos dados que realmente queres.

Se existem várias associações para esses dados, não me parece que não queiras que não repitam.


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
JoaoVM

imagina, tenho colaboradores que sao avaliados nos postos de trabalho das linhas de produção..um colaborador pode ser avaliado em varias linhas e em varios postos de trabalho, pode repetir os postos, pode repetir as linhas e pode repetir os colaboradores, não pode é haver o mesmo registo de um colaborador numa linha e num posto com a mesma avaliação.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

isso não faz sentido porque as avaliações são referentes a tempos diferentes.

é o mesmo que dizer que tens avaliações periódicas a uma disciplina, mas não podes ter avaliações iguais.


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
JoaoVM

o data e hora é a data e hora da avaliação, não percebo porque dizes que não faz sentido, preciso desses dados, apenas não pode ter registos exatamente iguais..o que acontece..

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
brunoais

imagina, tenho colaboradores que sao avaliados nos postos de trabalho das linhas de produção..um colaborador pode ser avaliado em varias linhas e em varios postos de trabalho, pode repetir os postos, pode repetir as linhas e pode repetir os colaboradores, não pode é haver o mesmo registo de um colaborador numa linha e num posto com a mesma avaliação.

Continuo na mesma


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
JoaoVM

o que se segue aqui é que um colaborador pode ter varias avaliações mas não a mesma avaliação duas vezes..e quando faço a consulta repete os dados..

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
brunoais

Então tens a DB mal feita ou a query mal feita (aposto muito mais no 1º caso, não me parece ser só da query).


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.