CONSULTA SQL INFINITA

MICHAELL 08/02/2013 15:22:16
#419030
salve salve galera! tudo belezinha?!

Vejam se podem me ajudar...

Tô criando em meu sistema, categorias e sub-categorias infinitas...
Na tabela [Ô]categorias[Ô], tenho o campo [Ô]pai[Ô]. Se for sub-categoria, preencho o campo pai com o ID da categoria pai... certo?!

Preciso listar as categorias, e listar as sub-categorias abaixo delas.

Exemplo:

- Categoria 1 (sem pai)
--> Categoria 2 (pai: 1)
--> Categoria 3 (pai: 1)
----> Categoria 4 (pai: 3)
- Categoria 5 (sem pai)
--> Categoria 6 (pai: 5)
--> Categoria 7 (pai: 5)

A dúvida é, como faço o select infinito..
no caso de querer listar todas as subcategorias (infinita) da categoria 1...

se poderem me ajudar, agradeço...
Valeu!!!
MICHAELL 08/02/2013 15:43:26
#419033
esqueci de mencionar que utilizo access...
MARCELO.TREZE 08/02/2013 16:07:33
#419034
você vai listar isso onde, seria em um treeview?
MICHAELL 08/02/2013 16:16:32
#419035
na verdade quero pegar o codigo de todas as categorias filhas , para assim colocar em um outro select e buscar por exemplo todas as despesas de uma determinada categoria... buscando de todas as filhas
NETMANIA 08/02/2013 16:20:38
#419036
Neste caso você terá que construir uma consulta base para retornar a relação de pais e filhos, depois fazer a consulta item a item, porem, neste caso você terá que usar uma linguagem para fazer o loop (VBScript no caso do Acces) ou a linguagem que irá se comunicar com o banco de dados.

Exemplo da consulta base:

SELECT
id_item
id_pai,
nm_item
FROM
tabela
ORDER BY
id_pai,
nm_item,
id_item
Tópico encerrado , respostas não são mais permitidas