CONSULTA SQL INFINITA
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!!!
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!!!
esqueci de mencionar que utilizo access...
você vai listar isso onde, seria em um treeview?
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
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
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