SQL que mostra pai numa linha e os filhos numa outra linha

4 respostas
carlos_maia

[color=red]Boa noite preciso muito da ajuda de voces,

Eu gostaria de saber como faço para listar numa mesma consulta o pai com o seus respectivos filhos.(Formato de arvore)

Ex:
Tabela Pai
id nome
1 Carlos
2 Eduardo

Tabela Filho
id NOME idPai
1 Maira 1
2 Joelson 2
3 Marta 1
4 Paula 1

Na hora da consulta deve me trazer o seguinte resultado:

Carlos ****
            maira
            marta
            paula
Eduardo *****
            Paula
[/color]

4 Respostas

C

voce deve fazer uma consulta de todos os filhos… e ordenalas pelo pai…

resumindo… faz um select dos filhos… que inclua o nome do pai e lista ordenando pelo nome do pai… acredito q essa seja uma das formas… ou a unica ^^

D

Tesnte assim:

SELECT Pai.nome, Filho.nome FROM Pai INNER JOIN Filho on Pai.id = Filho.IdPai

Ele vai retornar assim

Carlos maira
Carlos marta
Carlos paula
Eduardo Paula

Agora, este tal modo de árvore, acho que só usando alguma linguagem de programação para tratar.

leonhard32

Cara, você pode fazer uma function em PL-SQL que receba o pai, e liste os filhos…
A ideia é:

Cria um SQL que lista os pais, e a cada pai, você chama a function que seleciona os filhos… se você puder utilizar PL-SQL nesse caso, isso resolve.

Ja fiz algo para um relatório, que me lembro bem, foi assim… mas, listar produtos de uma venda.

Qualquer coisa estamos ai

Abs

carlos_maia

Obrigado leonhard32 sua explicação me deu uma idéia e consegui implementar.

Abs

Criado 20 de agosto de 2011
Ultima resposta 21 de ago. de 2011
Respostas 4
Participantes 4