Tenho uma tabela que relaciona duas.
alunos_has_cursos, que pega as pk de alunos e cursos.
Quero dar um select que pegue o aluno e o curso que estão relacionados dentro do alunos_has_cursos.
Porém eu preciso dos dados do alunos e do curso também.
Tenhei assim:
também estam faltando ligações nos joins. você precisa dizer como a tabela cursos_has_alunos se liga com as tabelas alunos e cursos.
SELECT alunos.* // é importante fazer isso
, cursos.* // e isso para melhorar a "visualização" dos dados na consulta. senão você terá também os dadps da tabela cursos_has_alunos, repetindo o campo matrícula e id do curso
FROM cursos_has_alunos
, alunos
, cursos
WHERE alunos.matricula = cursos_has_alunos.matricula // aqui
AND curso.id = cursos_has_alunos.idcurso // e aqui
AND cursos_has_alunos.matricula = 29
AND cursos_has_alunos.idcurso = 2;
Jhonny_Oliveira
Sempre que puder evite o tal de
prefira colocar o nome dos campos que deseja trazer na consulta, tá certo que se tratando de uma simples consulta sem muito propósito isso é aceitável, mas se for dentro de seus programas isso pode dificultar a leitura do código por outras pessoas e até por você mesmo no futuro.
Então tente desde já a sempre mencionar os campos, pois na vida real muitas vezes trabalhamos com tabelas de 20, 30 ou mais campos, mas dessas só precisamos de 2 ou 3 na maiorias das vezes.
Dani_Gomes
Obrigado a todos que me ajudaram, consegui fazer e deu certo.