Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal mais uma vez preciso de um help
Possuo uma tabela RECURSSIVA (acho que é esse o nome correto ), onde armazeno MEUS CURSOS, ex:
id_curso, id_curso_pai, nome
1 null CURSO DE LINGUAS
2 null CURSO DE CONTADOR
3 1 PORTUGÛES
4 1 INGLÊS
5 3 BÁSICO
6 3 AVANÇADO
7 4 MÓDULO 1
7 2 MÓDULO 1
Eu gostaria de fazer um select ( usando MSQLI ) para trazer o resultado assim:
CURSO DE LINGUAS
PORTUGUES
basico
avançado
INGLES
modulo 1
CURSO DE CONTADOR
MODULO 1
select tp.id_curso,tp.nome
from tbl_cursos tp
(select ttp.id_curso, ttp.nome
from tbl_cursos ttp
where ttp.id_curso_pai = tp.id_curso)
motta, algo assim ? pode me ajudar na sintaxe ?
Não sei , não trabalho com MySsql nenhum link do Google te ajudou ?
Creio ser o MySql limitado neste ponto
Motta, consegui fazer assim, mas tenho que perder umas horas entendendo esse select. Mesmo assim obrigado
select tp.id_curso Pai,
t.id_curso,
t.id_curso_pai PFilho,
tp.nome,
t.nome
from tbl_cursos t, tbl_cursos tp
where t.id_curso_pai in (select ttp.id_curso
from tbl_cursos ttp
where t.id_curso_pai = tp.id_curso)select tp.id_curso Pai,
t.id_curso,
t.id_curso_pai PFilho,
tp.nome,
t.nome
FROM TBL_CURSOS T, TBL_CURSOS TP
WHERE T.ID_CURSO_PAI /testa só os id "pai" /
IN (SELECT TTP.ID_CURSO /*subquery retorna o id "pai" de um id*/
FROM TBL_CURSOS TTP
where t.id_curso_pai = tp.id_curso)
No Oracle existe uma síntaxe para isto o CONNECT BY
Já respondi um tópico assim aqui e vi que existem equivalentes no Mysql, tente com o Google