Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal to tentando usar o distinct em uma query porém não estou conseguindo de jeito nenhum, vejam se podem me ajudar
SELECT
mp.id,
mp.userid_moodle,
mp.userid_server1,
mp.courseid_moodle,
u.nick,
u.real_name,
rsm.matriz_id,
rsm.siead_id,
rsm.moodle_sala_id,
rsm.moodle_sala_nome,
rsm.periodo,
d.dis_id,
d.dis_nome,
d.dis_curso,
c.curso_id,
c.curso_nome,
c.curso_info,
ic.ic_id,
ic.ic_exame
FROM
moodle_professores mp
INNER JOIN users u ON mp.userid_server1 = u.id
INNER JOIN relaciona_siead_moodle rsm ON mp.courseid_moodle = rsm.moodle_sala_id
INNER JOIN disciplinas d ON rsm.siead_id = d.dis_id
INNER JOIN cursos c ON d.dis_curso = c.curso_id
INNER JOIN inf_curso ic ON ic_dis = d.dis_id
WHERE
ic.ic_exame = 8
Quero aplicar o DISTINCT nos campos: u.id e c.curso_id
Entendi mas com o GROUP BY consigo o mesmo resultado se estive usando o DISTINTC?
Sim, mas o GROUP BY permite funções de agregação, coisa que o DISTINCT não possui (veja o link para melhores informações).
Se não for utilizar as funções de agregação, ambos funcionam da mesma forma, eu particularmente prefiro utilizar o GROUP BY.
Ricardo, peço que vc poste um exemplo dos dados das tabelas e o resultado que vc quer obter, assim podemos ajudar com group by e/ou distinct.
Alem disso é uma boa vc ver o link postado pelo lokaodomau
Vou fazer o teste com o GROUP BY e já posto o resultado para vocês.
o distinct é por linha e não por campo. A função dele é não exibir linhas duplicadas (exatamente os mesmos dados em linhas distintas).
Se vc quer que "seja aplicado em apenas dois campos" deve colocar apenas os dois campos na resposta solicitada, senao deve usar um group by nesses 2 campos a aplicar funções de agregação nos outros campos (sum,max,count e etc)