Jump to content
JoaoVM

Dados não são repetidos ficam repetidos

Recommended Posts

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

Share this post


Link to post
Share on other 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.

Edited by 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%.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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%.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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..

Share this post


Link to post
Share on other 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%.

Share this post


Link to post
Share on other 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..

Share this post


Link to post
Share on other 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%.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.