Получение данных из базы данных в древовидной структуре в sqlite

В моем приложении у меня есть структурированная таблица дерева, и я хочу знать, что если я могу получить данные древовидной структуры из базы данных sqlite, просто применяя один запрос. В настоящее время я обрабатываю его вручную, используя цикл for и способный удовлетворить мои требования, но я не уверен, что этот подход более сложный, может потребовать много времени и т. Д.

Моя таблица выглядит так:

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

Итак, теперь выше моя структура таблицы, и я хочу получить древовидную структуру, например: если я передам parent_id как 1 в моем запросе, тогда он должен вернуть 2,3,4,5,6 поскольку 1 является родителем 1, 2, 3, 4 и 4 является родителем 5,6 а также 4 является дочерним по 1

Таким образом, ожидаемый мной ввод и вывод,

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

Итак, есть ли простой способ получить эту древовидную структуру с помощью SQL-запроса?

ИЛИ

Невозможно выполнить этот запрос с использованием SQL-запроса, и мне нужно следовать текущему методу или способу, которым я его использую, вручную перебирая все идентификаторы категорий.

    Вы можете использовать метод group_concat, поскольку он доступен в sqlite.

    Для вашего вопроса я создал одну таблицу под названием Trans и добавил parent_id и cat_id .

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

    У меня есть таблица, подобная этой, о которой я упомянул ниже.

    Введите описание изображения здесь

    И я получил результат следующим образом:

    Введите описание изображения здесь

    Надеюсь, что это поможет вам.

    Я не нашел никакого решения из самого sqlite, поэтому создал Алгоритм, который создает структуру Tree, итерируя по каждому id и над ее sub_ids и записывая в базу данных.

    Я прошел через Closure Tables, который дает ожидаемый результат, который я рассматривал как решение

    Еще несколько ссылок на таблицу Closure –

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

    Intereting Posts
    Отключить перемещение в mapview Как управлять использованием памяти при вызове нескольких WebView в Android? Как читать файл AndroidManifest.xml (в двоичном формате)? Как проверить и создать исходный код UIAutomator в окнах Почему Android нуждается в виртуальной машине (DVM)? Как обращаться с «бесконечными» веб-страницами? Как повысить точность «CPU%» по сравнению с командой TOP? Как сделать плавное вращение изображения в Android? Можно ли программным образом указать <uses-permission>? Функция веб-просмотра Android для onPagefinished называется дважды Не удается отправить данные в Galaxy Nexus или из него через LLCP Хеш-ключ недействителен для Facebook после того, как приложение помещено в игровой магазин Пользовательский AsyncTaskLoader, loadinBackground не вызывается после 5 попыток Ошибка при отправке файлов через Bluetooth в Android? Какой макет должен использоваться для отображения «нижнего колонтитула» в зависимости от остальной части содержимого экрана