mbpp 2 Denunciar post Postado Agosto 6, 2014 Oi tudo bem? Estou a ter um problema com a minha query, o Distinct não funciona, podem ver porque? SELECT DISTINCT treinos.*, alunos.*,treino_aluno.* FROM treinos, alunos,treino_aluno WHERE treinos.id_treino = treino_aluno.id_treino Abraço Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Agosto 6, 2014 O uso do * trás TODOS os campos da tabela, isto deve afetarvseu DISTINCT , tente definindo apenas os campos que serão usados ou necessários. Compartilhar este post Link para o post Compartilhar em outros sites
mbpp 2 Denunciar post Postado Agosto 6, 2014 Já tentei, não funcionou. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Agosto 6, 2014 Um dos campos listados deve ser chave única logo será distinto dos demais , DISTINCT funciona acredite. Compartilhar este post Link para o post Compartilhar em outros sites
mbpp 2 Denunciar post Postado Agosto 6, 2014 Deixo abaixo a estrutura das tabelas e a Query que meti. talvez possa ajudar em saber o problema. Tabelas: alunos: - id_aluno; (primary key, autoincrement) - nome; treinos: - id_treino; (primary key, autoincrement) - titulo_treino; - data treino_aluno: - id; (primary key, autoincrement) - id_treino; - id_aluno; Query: $sql_treino = "SELECT DISTINCT treinos.titulo_treino,treinos.id_treino,treinos.data, alunos.nome, alunos.id_aluno,treino_aluno.id_treino,treino_aluno.id_aluno FROM treinos, alunos,treino_aluno WHERE treinos.id_treino = treino_aluno.id_treino"; Compartilhar este post Link para o post Compartilhar em outros sites
Prog 183 Denunciar post Postado Agosto 6, 2014 O DISTINCT esta funcionando perfeitamente para o SELECT que você esta executando. Qual cenário você deseja distinguir? Qual o resultado esperado? Compartilhar este post Link para o post Compartilhar em outros sites
mbpp 2 Denunciar post Postado Agosto 6, 2014 Basicamente ele está-me trazendo dados duplicados (não é que esteja incorrecto), porque está correcto mas quero que dados iguais não repitam. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Agosto 6, 2014 Só estaria errado se uma linha do select (treinos.titulo_treino,treinos.id_treino,treinos.data, alunos.nome, alunos.id_aluno,treino_aluno.id_treino,treino_aluno.id_aluno) saia duplicada , repito DISTINCT funciona. Compartilhar este post Link para o post Compartilhar em outros sites
Prog 183 Denunciar post Postado Agosto 6, 2014 Exemplo: SELECT DISTINCT treinos.titulo_treino, alunos.nome FROM treinos, alunos,treino_aluno WHERE treinos.id_treino = treino_aluno.id_treino Não se repetirão os TREINOS cada um dos ALUNOS. Se você incluir os IDS, cada linha será diferente da outra, logo, não há o que ser distinguido pelo comando DISTINCT. Compartilhar este post Link para o post Compartilhar em outros sites