Как сделать рекурсивный запрос в SQLite?

если моя структура данных такая

parentA
-------parentAA
--------------parentAAA
---------------------childA

если я могу получить "childA.name» , Как я могу знать все родительское имя до верхнего уровня. так будет и так> parentA/parentAA/parentAAA/childA

Каков наилучший способ сделать это?

Я работаю с SQLite и JAVA / Android. Спасибо в Adv.

____________ РЕДАКТИРОВАТЬ

Ладно, ребята, спасибо вам всем. так что я просто повторяювыберите запрос ", Bottom-UP это метод, который я создаю

public String getPath(int id, int type) {
        StringBuilder pathBuilder = new StringBuilder();
        String sql = null;
        int parentId = 0;

        if (id == 0) {
            pathBuilder.insert(0, "/root/");
            return pathBuilder.toString();
        }

        if (type == LayerManagementActivity.PARENT) {
            do {
                sql = "SELECT id, name, parent_id from parents_table where id="
                        + id;
                Cursor c = mDatabase.rawQuery(sql, null);
                if (c.moveToFirst()) {
                    parentId = c.getInt(2);
                    id = c.getInt(0);
                    pathBuilder.insert(0, "/" + c.getString(1));
                    c.close();
                }
                id = parentId;
            } while (parentId != 0);

            pathBuilder.insert(0, "/root");
            pathBuilder.append("/");

        } else if (type == LayerManagementActivity.CHILD) {
            sql = "SELECT id, name, folder_id FROM childs_table WHERE id=" + id;
            Cursor c = mDatabase.rawQuery(sql, null);
            if (c.moveToFirst()) {
                pathBuilder.append(c.getString(1));
                id = c.getInt(0);
                int folderId = c.getInt(2);
                String path = getPath(folderId, LayerManagementActivity.PARENT);
                pathBuilder.insert(0, path);
            }
            c.close();
        }
        Log.d("crumb", pathBuilder.toString());
        return pathBuilder.toString();
    }

Ответы на вопрос(4)

Ваш ответ на вопрос