0 / 0 / 0
Регистрация: 14.05.2015
Сообщений: 5
|
||||||
1 | ||||||
Запрос на разницу значений при отсутствии нескольких показателей в одном из значений14.05.2015, 20:58. Показов 944. Ответов 8
Метки нет (Все метки)
Добрый вечер!
Прошу прощения за возможно глупый вопрос, но для меня это действительно проблема( В моей базе есть таблица с данными, которая содержит объемы продаж (Tons) и деньги (NSV, LSV) по разным регионам и есть также такой тип региона, как Россия (данные равны сумме всех регионов). В таблице есть также еще другие регионы (другие страны), но они не участвуют в проблеме. Очень много столбцов с разными показателями. Один из регионов решено убрать. Его данные я могу просто удалить из данной таблицы, но данные по России необходимо пересчитать: вычесть объемы по этому региону. Причем совпадение данных должно быть по нескольким полям: месяц, год, item продукта, и еще пару (А, В). Проблема в том, что в этой конкретной таблице items и еще некоторые поля (возможно все вышеперечисленные) точно есть в данных Россия, но могут не быть в данных по этому убираемому региону (то есть таких строк просто нет). Я пыталась решать так: 1) Query1 на выборку данных по убираемому региону по всем полям 2) Query2 на выборку данных по России по всем полям (все аналогично Query1) 3) Query3
Может быть, можно решить как-то легче (одним запросом), желательно несложным? Я с SQL дружу пока не очень, делала запросы через конструктор. Была бы очень благодарна за советы и помощь!
0
|
14.05.2015, 20:58 | |
Ответы с готовыми решениями:
8
Запрос на разницу значений Запрос на выборку нескольких последних значений Как проверить, заполнены ли все необходимые поля формы и при отсутствии значений вывести сообщение? SQL запрос поиск разных значений идет в одном и том же поле |
2833 / 1375 / 215
Регистрация: 13.05.2011
Сообщений: 4,217
|
|
14.05.2015, 21:19 | 2 |
Gie3ella, лучше всего покажите вашу базу и скажите какой регион убираете. На яву будет яснее.
0
|
0 / 0 / 0
Регистрация: 14.05.2015
Сообщений: 5
|
|
14.05.2015, 22:01 [ТС] | 3 |
Вячеслав, с удовольствием. Просто база рабочая, очень большая.
Постаралась оставить по-минимуму показателей. Все должны быть учтены при вычислении разницы. Реальная рабочая проблема такова: Regions = Hyperglobus и Selgros перемещаются из Group Geo =NationalAccounts в Group Geo =Russia. Соответственно Region = NationalAccounts содержит сумму всех данных по Regions объединенных по Group Geo =NationalAccounts (не спрашивайте, зачем так, по имеющимся данным и их источникам по-другому сделать не получалось ) Нужно из всех данных (Tons, NSV, LSV) по Regions =NationalAccounts вычесть данные Regions =Hyperglobus и Selgros Запросы оставлять не стала, так как они явно были кривыми... Гузель.
0
|
0 / 0 / 0
Регистрация: 14.05.2015
Сообщений: 5
|
|
14.05.2015, 22:15 [ТС] | 4 |
Вдогонку к предыдущему сообщению: может быть можно сделать просто один запрос на изменение текущей таблицы? Было бы удобнее всего. Но если нет то нет)
0
|
0 / 0 / 0
Регистрация: 14.05.2015
Сообщений: 5
|
|
15.05.2015, 00:23 [ТС] | 6 |
Спасибо! Но этот запрос вроде как выполняет только самую легкую часть задания - перенести клиентов из одного в другое. Самое сложное - вычесть из данных Regions =NationalAccounts Regions =Hyperglobus и Selgros
0
|
0 / 0 / 0
Регистрация: 14.05.2015
Сообщений: 5
|
|
15.05.2015, 02:16 [ТС] | 8 |
Пожалуйста)
В приложенном рисунке видно, что я выбрала одинаковые записи например для Region=NationalAccount и Hyperglobus И данные NationalAccount включают в себя в том числе Hyperglobus. Нужно, чтобы новое значение NationalAccount = старое минус Hyperglobus и минус Selgros. Для некоторых (многих) записей NationalAccount не будет соответствующих строчек по Hyperglobus и Selgros. С другой стороны я подумала, что легче наверное сделать обратную операцию. Hyperglobus и Selgros перенести в Russia. то есть исключить из NationalAccount так, как вы предложили. А данные по оставшимся в NationalAccount клиентам суммировать по одинаковым записям (группировка?) и назвать NationalAccount. И эти новые значения NationalAccount вставить в таблицу вместо старых. С уважением Гузель.
0
|
26815 / 14494 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
|
15.05.2015, 08:25 | 9 |
Опять мало что понял. Из каких полей и что надо вычитать? Куда вставлять? Почему это надо делать?
Напрашивается только один вывод - какие-то поля, скажем Tons, LSV или NSV сделаны расчетными, вычисляются каким-то образом и опять заносятся в таблицу. Если так, то это неверный шаг. Хранить надо исходные данные. Все остальное запросами. Впрочем, при большом количестве данных (как у Вас), результаты запросов бывает хранят в таблицах, поскольку долго вычислять каждый раз. Но это должно быть очень прозрачно. С полным текстовым описанием всех деталей. А сейчас мало что понятно. Или я такой тупой. Может кто другой Вам поможет.
0
|
15.05.2015, 08:25 | |
15.05.2015, 08:25 | |
Помогаю со студенческими работами здесь
9
Ajax запрос для нескольких значений параметра Возврат нескольких значений из метода не знаем сколько таких значений Сумма значений при нескольких условиях Сумма значений при нескольких условиях Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |