Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> поиск доходов с детьми, sqlite 
:(
    Опции темы
qpile
Дата 14.4.2010, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 12.8.2009

Репутация: нет
Всего: нет



Есть три таблицы :

           categories
            (category_id INTEGER PRIMARY KEY AUTOINCREMENT ,parent_id INT DEFAULT NULL,name text,type int,FOREIGN KEY(parent_id) REFERENCES categories(category_id));"); 

      
                accounts
         (account_id INTEGER PRIMARY KEY AUTOINCREMENT , name text);");  
                     
                   tranzactions
               +"(transaction_id  INTEGER PRIMARY KEY AUTOINCREMENT ,account_id  int,category_id int,t_date date,amount float,"
               +"FOREIGN KEY(account_id) REFERENCES accounts(account_id),FOREIGN KEY(category_id) REFERENCES categories(category_id));");
     
Назначение их примерно понятно. Транзакции-записываются расходы доходы, а в категории записываются категории расходов/доходов.
Задача , нужно посчитать доходы по каждой родительской категории(category_id) но при этой учесть, что у родительской категории есть дети(parent_id) и эти доходы должны быть тоже учтены..Как оптимально это обсчитать?
PM MAIL   Вверх
skyboy
Дата 14.4.2010, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 15
Всего: 260



чтоб за один запрос легко суммировать данные для категории и всех подкатегорий, вместо списка смежности(adjancy list - как у тебя сейчас: поле "ИД родителя") лучше использовать nested sets(поискай в google). в  текущем варианте структуры без рекурсивной хранимой функции или нескольких запросов(сначала в несколько проходов вытягиваем только дочерние категории рекурсивно ИЛИ за один запрос вытягиваем ВСЕ категории, формируем дерево и отбираем только дочерних по отношеини к какой-то категории; затем для списка категорий вытягиваем операции и суммируем) 
PM MAIL   Вверх
Zloxa
Дата 15.4.2010, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 53
Всего: 161



qpile, ваша платформа предоставляет возможность использовать рекурсивные или же иерархические запросы?

Добавлено через 1 минуту и 9 секунд
упс, увидел что платформа таки указана. Вопрос снят.


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.0922 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.