Obtener datos de la base de datos en una estructura de árbol en sqlite

En mi aplicación tengo una tabla de árbol estructurado y quiero saber que si puedo buscar los datos de estructura de árbol de base de datos sqlite simplemente aplicando una sola consulta. Actualmente estoy lopping manualmente usando un bucle for y capaz de cumplir con mi requisito, pero no estoy satisfecho con ese enfoque, ya que es más complejo, puede ser mucho tiempo, etc

Mi estructura de la tabla de la tabla es como abajo,

parent_id | cat_id null | 1 1 | 2 1 | 3 1 | 4 4 | 5 4 | 6 

Por lo tanto, ahora por encima de es mi estructura de la tabla y quiero obtener la estructura de árbol como, Si me pasa parent_id como 1 en mi consulta, entonces debe volver 2,3,4,5,6 como 1 es padre de 1, 2, 3, 4 y 4 es padre de 5,6 y también 4 es hijo de 1

Por lo tanto, la entrada y la salida esperada por mí,

 input output 1 2,3,4,5,6 4 5, 6 

Por lo tanto, hay una manera sencilla de lograr la estructura de árbol anterior mediante sqlite consulta?

O

No hay manera de lograr esto utilizando la consulta sqlite y necesito seguir el método actual o la forma en que lo estoy utilizando mediante bucle manualmente todos los ID de categoría.

Puede utilizar el método group_concat como está disponible en sqlite.

Para su pregunta he creado una tabla llamada Trans y añadido las columnas cat_id y cat_id .

 select parent_id, group_concat(cat_id) from trans group by parent_id; 

Tengo mesa como esta he mencionado a continuación.

Introduzca aquí la descripción de la imagen

Y conseguí resultante como esto:

Introduzca aquí la descripción de la imagen

Espero que esto te ayudará.

No encontré ninguna solución de sqlite sí mismo, así que creé un algoritmo que crea la estructura del árbol iterando sobre cada id y sobre sus sub_ids y escribe en base de datos.

Había pasado por tablas de cierre que da el resultado esperado que estaba buscando como una solución

Algunas referencias más de Tabla de Cierre –

http://technobytz.com/closure_table_store_hierarchical_data.html http://karwin.blogspot.in/2010/03/rendering-trees-with-closure-tables.html

  • Sincronizar SQLite DB en la aplicación android con el DB remoto de MySQL
  • No se puede insertar correctamente caracteres griegos en la base de datos mysql
  • Conectar aplicaciones de Android a la base de datos mysql
  • Java.lang.IllegalStateException: Ya conectado
  • Android recopila datos de mySql
  • Firebase Big query - Cómo recuperar los datos de la tabla Eventos personalizados
  • Cómo hacer que la aplicación de Android se comunique con db de MySQL externo
  • Enviar datos de android a servidor a través de JSON
  • ¿Cómo mostrar las pestañas (espacios en blanco) procedentes de la base de datos MySQL correctamente en ambos en Android y IOS aplicación?
  • Tener un error mySQL, columna desconocida where clause
  • El mismo elemento se elimina dos veces después de ejecutar la llamada de red en un bucle
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.