Ignatnet
18.01.2016 - 14:06
Есть 40 отделов, каждый отдел вносит свою информацию в таблицу (всего полей 22 и только цифры).
Админ.
У него появляется сводная таблица всех отделов с суммированием по столбцам
Наименование Данные 1 Данные … Данные 22
Отдел 1 | 10 | 20 | 80
Отдел 2 | 30 | 40 |40
Отдел …. | 50 | 30 |50
Отдел 33 | 10 | 40 |20
Всего | 100 | 130 |190
Отдел 34 | 10 | 10 |20
Отдел …. | 20 | 20 |10
Отдел 40 | 20 | 20 |30
Всего | 50 | 50 |60
Итого | 150 | 180 |250
В таблице данные не добавляются, а только обновляются.
Суммирование данных. Судя по таблице, данные делятся на 2 группы, с выводом суммы в каждой группе (Всего), а потом эти группы суммируются (Итого).
Делать 2 таблицы и их связывать, в той же таблице сделать еще 22 поля и делать выборку.
Какие варианты есть?
Valick
18.01.2016 - 14:32
Цитата (Ignatnet @ 18.01.2016 - 13:06) |
Делать 2 таблицы и их связывать, в той же таблице сделать еще 22 поля и делать выборку. |
нет
вы дали ТЗ но не указали бюджет
500р и будет вам 1 запрос
_____________
Стимулятор ~yoomoney - 41001303250491
Ignatnet
18.01.2016 - 14:41
Итого: я сделал, по каждому столбцу считает сумму. SUM(tab1) AS t0. Вот как раз разбивку сделать
sergeiss
18.01.2016 - 14:42
Valick, человек не просит сделать "за него", а спрашивает "какие варианты".
Ignatnet, судя по описанию, там где-то должно быть поле, по которому производится группировка. И сумму надо находить уже во время выборки, не надо никаких дополнительных таблиц.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
Ignatnet
18.01.2016 - 15:01
Если это реально сделать, как говорится, мороженным поделюсь. Если же нет, буду искать другой вариант
Valick
18.01.2016 - 15:17
Цитата (sergeiss @ 18.01.2016 - 13:42) |
человек не просит сделать "за него" |
уверен? я лично нет, поэтому предложил коммерческий вариант решения проблемы
_____________
Стимулятор ~yoomoney - 41001303250491
Ignatnet
18.01.2016 - 15:23
пускай будет коммерческий вариант, если это решаемо, обсудим, если его сложно реализовать, я пойду другим путем
sergeiss
18.01.2016 - 15:25
Цитата (Ignatnet @ 18.01.2016 - 15:01) |
Если это реально сделать |
В этом мире есть мало чего нереального
У нас на форуме так принято: если ты работаешь сам, пытаешься что-то сделать, то тебе помогут. Бесплатно. Но если не хочешь сам, то идешь в раздел "Проекты" и создаешь тему там. И тебе всё сделают, но уже за деньги.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
Valick
18.01.2016 - 15:26
дамп таблицы пожалуйста, сюда или в личку без разницы
_____________
Стимулятор ~yoomoney - 41001303250491
Ignatnet
18.01.2016 - 15:43
Valick
18.01.2016 - 16:10
скудноват дамп, ну да ладно
как сказал sergeiss в БД необходимо поле по которому например Анна и Богучар будут входить в одну суммируемую подгруппу, а Кантемировка в другую
_____________
Стимулятор ~yoomoney - 41001303250491
Ignatnet
18.01.2016 - 16:20
т.е. нет необходимости создавать новую таблицу или не делать еще 22 дополнительных поля в той же таблице. Просто разделить отделы по группам. Если не получится разрешить такой вопрос самому, можно решить и финансово. У меня зациклилось что надо делать 2 таблицы.
Спасибо!
Valick
18.01.2016 - 19:46
как успехи?
если что задача решается одним запросом (с двумя UNION), причём вместе с основной таблицей
кстати желающие пораскинуть мозгами могут присоединиться, задача распространённая, но от этого не менее интересная
_____________
Стимулятор ~yoomoney - 41001303250491
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.