|
Обновление поля главной таблицы из статистики подчиненной таблицы
|
|||
---|---|---|---|
#18+
Локальные таблицы каждого магазина таковы: Главная таблица "KlientTorg": klID, klOtdel, klDate, klTime. Подчиненная таблица: "Torg": trID, klID, trCena, trKol. Каждый магазин заливает свои данные в общую центральную базу в таблицы: Главная таблица "TsKlientTorg": ID, klID, klOtdel, klDate, klTime, klSum Подчиненная таблица: "TsTorg": ID, trID, klID, klOtdel, trCena, trKol. Изначально в TsKlientTorg.klSum ничего не заливают. Мне самому потом надо SQL-запросом заполнить это поле по формуле Sum(TsTorg.trCena*TsTorg.trKol), чтобы для быстроты анализа работать в дальнейшем только одной таблицой. Помогите с Ubdate-запросом. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2016, 21:28 |
|
Обновление поля главной таблицы из статистики подчиненной таблицы
|
|||
---|---|---|---|
#18+
Так? ТЗ(?..) Локальные таблицы каждого магазина : Главная таблица "KlientTorg" : klID, klOtdel, klDate, klTime . Подчиненная таблица: "Torg" : trID, klID, trCena, trKol . Каждый магазин заливает свои данные в таблицу общей центральной базы : Главная таблица "TsKlientTorg" : ID, klID, klOtdel, klDate, klTime, klSum Подчиненная таблица: "TsTorg" : ID, trID, klID, klOtdel, trCena, trKol . -------- Код: plaintext 1. 2. 3. 4. 5. 6.
, чтобы для быстроты анализа работать в дальнейшем только одной таблицей 1) Вопрос о переделке, коренной переделке структуры рассматривается? 2) Каким образом данные "заливаются" в каждом конкретном случае? 3) Как конкретно каждые таблицы связаны как главные\подчинённые? Прежде чем задать вопрос... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 05:02 |
|
Обновление поля главной таблицы из статистики подчиненной таблицы
|
|||
---|---|---|---|
#18+
_гурДТак? Да, так. _гурД1) Вопрос о переделке, коренной переделке структуры рассматривается? 2) Каким образом данные "заливаются" в каждом конкретном случае? 3) Как конкретно каждые таблицы связаны как главные\подчинённые? 1) Можно рассмотреть. 2) Магазины работают автономно. В конце рабочего времени подключаются к серверу и заливают последние свежие записи. Код: sql 1. 2. 3. 4. 5.
3) В магазинах KlientTorg.klID=Torg.klID, в центральной базе TsKlientTorg.klID=TsTorg.klID, TsKlientTorg.klOtdel=TsTorg.klOtdel _гурД Прежде чем задать вопрос... Старался как мог. Учту. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 08:04 |
|
Обновление поля главной таблицы из статистики подчиненной таблицы
|
|||
---|---|---|---|
#18+
Адеке Код: sql 1. 2. 3. 4. 5.
В ваших конструкциях нет раздела FROM. Просто не указали или и так работает? Первый запрос можно построить на таблицах KlientTorg и Torg с группировкой по KlientTorg.klID, KlientTorg.klOtdel, First по KlientTorg.klDate, KlientTorg.klTime и Sum по Torg.trKol. Поле klSum указать в разделе INTO. А вообще, хорошо подумайте, нужно ли вам это поле. Любое изменение в подчиненной таблице может сделать это значение не актуальным. Проще и надежнее получить сумму запросом на выборку. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 09:52 |
|
Обновление поля главной таблицы из статистики подчиненной таблицы
|
|||
---|---|---|---|
#18+
Попробуйте Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 10:58 |
|
Обновление поля главной таблицы из статистики подчиненной таблицы
|
|||
---|---|---|---|
#18+
Анатолий ( Киев )В ваших конструкциях нет раздела FROM. Просто не указали или и так работает? Поленился указать, потому что и так понятно. Анатолий ( Киев )А вообще, хорошо подумайте, нужно ли вам это поле. Любое изменение в подчиненной таблице может сделать это значение не актуальным. Проще и надежнее получить сумму запросом на выборку. Я предусмотрел чтобы это поле всегда держался актуальным (корректировка при изменении подчиненной таблицы). Анатолий ( Киев )Проще и надежнее получить сумму запросом на выборку. Конечно, я так и пробовал сперва. Но выполняется долго. Представьте, магазинов несколько, в одном магазине в день сотни клиентов, один клиент около десяти покупок. А так в основе, в магазинах нет доступа на корректировку старых данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 12:34 |
|
Обновление поля главной таблицы из статистики подчиненной таблицы
|
|||
---|---|---|---|
#18+
Анатолий ( Киев )Поле klSum указать в разделе INTO. В теперешней заливке так и буду. Мне сейчас надо на уже залитые данные Update сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 12:39 |
|
Обновление поля главной таблицы из статистики подчиненной таблицы
|
|||
---|---|---|---|
#18+
__MichelleПопробуйте Код: sql 1.
Функция DSum - наверно будет крайний вариант, потому что она не быстрая. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 12:42 |
|
Обновление поля главной таблицы из статистики подчиненной таблицы
|
|||
---|---|---|---|
#18+
Адеке__MichelleПопробуйте Код: sql 1.
Функция DSum - наверно будет крайний вариант, потому что она не быстрая. Для разовой операции сгодится. Только в условие надо klOtdel добавить. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 12:52 |
|
Обновление поля главной таблицы из статистики подчиненной таблицы
|
|||
---|---|---|---|
#18+
Адеке__MichelleПопробуйте Код: sql 1.
Функция DSum - наверно будет крайний вариант, потому что она не быстрая.Но, поскольку у ВасАдеке2) Магазины работают автономно. В конце рабочего времени подключаются к серверу и заливают последние свежие записи. Код: sql 1. 2. 3. 4. 5.
3) В магазинах KlientTorg.klID=Torg.klID, в центральной базе TsKlientTorg.klID=TsTorg.klID, TsKlientTorg.klOtdel=TsTorg.klOtdel., добавьте в конец процедуры заливки каждым магазином это Код: sql 1. 2.
И все будет быстро. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 13:02 |
|
Обновление поля главной таблицы из статистики подчиненной таблицы
|
|||
---|---|---|---|
#18+
Анатолий ( Киев )Адекепропущено... Функция DSum - наверно будет крайний вариант, потому что она не быстрая. Для разовой операции сгодится. Только в условие надо klOtdel добавить. В главной таблице 1.2млн записей, в подчиненной - 4млн записей. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 13:05 |
|
Обновление поля главной таблицы из статистики подчиненной таблицы
|
|||
---|---|---|---|
#18+
__MichelleАдекепропущено... Функция DSum - наверно будет крайний вариант, потому что она не быстрая.Но, поскольку у ВасАдеке2) Магазины работают автономно. В конце рабочего времени подключаются к серверу и заливают последние свежие записи. Код: sql 1. 2. 3. 4. 5.
3) В магазинах KlientTorg.klID=Torg.klID, в центральной базе TsKlientTorg.klID=TsTorg.klID, TsKlientTorg.klOtdel=TsTorg.klOtdel., добавьте в конец процедуры заливки каждым магазином это Код: sql 1. 2.
И все будет быстро. При заливке свежих записей так и буду делать, но мне сейчас надо пройтись по старым записям в центральной базе. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 13:07 |
|
Обновление поля главной таблицы из статистики подчиненной таблицы
|
|||
---|---|---|---|
#18+
__Michelle Код: sql 1. 2.
И все будет быстро. Вот это WHERE не совсем понял. Не могли бы разъяснить? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 14:31 |
|
Обновление поля главной таблицы из статистики подчиненной таблицы
|
|||
---|---|---|---|
#18+
Адеке__Michelle Код: sql 1. 2.
И все будет быстро. Вот это WHERE не совсем понял. Не могли бы разъяснить?Ну, я предположила, что данные каждого магазина характеризуются своим Id. И после загрузки "своих" данных магазин заполнит поле klSum только в "своих" записях, то есть, загруженных в данном сеансе. Выделит эти записи по этому своему Id. Или там другой смысл? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 15:06 |
|
Обновление поля главной таблицы из статистики подчиненной таблицы
|
|||
---|---|---|---|
#18+
__Michelle, понял. Вы просто перепутали поля klID с полем klOtdel. klID - это ID покупки клиента. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 19:12 |
|
Обновление поля главной таблицы из статистики подчиненной таблицы
|
|||
---|---|---|---|
#18+
Адеке, Я бы перепутала, если бы знала их назначение. А так я просто не угадала. Они ведь нигде Вами не объяснены.))) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 19:17 |
|
Обновление поля главной таблицы из статистики подчиненной таблицы
|
|||
---|---|---|---|
#18+
__Michelle, Спасибо. Значит пока кроме DSum нет лучшего варианта. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 19:36 |
|
Обновление поля главной таблицы из статистики подчиненной таблицы
|
|||
---|---|---|---|
#18+
Адеке, Дело в том, что наличие подзапроса или JOIN'а с запросом с группировкой приведут к тому, что основной запрос станет необновляемым, то есть UPDATE не выполнится. А так хоть как-то... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 19:47 |
|
Обновление поля главной таблицы из статистики подчиненной таблицы
|
|||
---|---|---|---|
#18+
Адеке, Ну, или предварительно сбросить сформированные группировкой суммы в отдельную таблицу. А затем уже с этой таблицей JOIN с UPDATE. Так, наверное, будет побыстрее. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 19:50 |
|
|
start [/forum/topic.php?fid=45&msg=39272987&tid=1613358]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 143ms |
0 / 0 |