Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Help!!! увеличивает сумму запроса в n раз!!!!
|
|||
|---|---|---|---|
|
#18+
Есть комплексная для Украины 82, Добавлен РегистрСведений ДоговораАвторов (осн.измерения "книга договор автор...", ресурсы "процент, видпроцента...") стандартные оборотные Регистры Накопления: "Продажи" (сумма продаж по товарам) и "ПродажиСебестоимость" (себестоимость продаж по товарам) Хочу получить для всех товаров из регистра ДоговораАвторов продажи и себестоимость и кво проданного товара , а результат в 6 раз больше чем ожидалось.... , а если еще добавить договор и автора и по ним сгруппировать, то в 2 раза ВЫБРАТЬ ДоговораАвторовСрезПоследних.книга КАК книга, СУММА(ПродажиОбороты.Количество) КАК Количество, СУММА(ПродажиОбороты.Стоимость) КАК Стоимость, СУММА(ПродажиСебестоимость.Количество) КАК Количество1, СУММА(ПродажиСебестоимость.Стоимость) КАК Стоимость1 ИЗ РегистрСведений.ДоговораАвторов.СрезПоследних(&ВыбДата, ) КАК ДоговораАвторовСрезПоследних ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи КАК ПродажиОбороты ПО ДоговораАвторовСрезПоследних.книга = ПродажиОбороты.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПродажиСебестоимость КАК ПродажиСебестоимость ПО ДоговораАвторовСрезПоследних.книга = ПродажиСебестоимость.Номенклатура СГРУППИРОВАТЬ ПО ДоговораАвторовСрезПоследних.книга В чем ошибка???? http://www.sql.ru/forum/images/cry.gif ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2012, 01:38 |
|
||
|
Help!!! увеличивает сумму запроса в n раз!!!!
|
|||
|---|---|---|---|
|
#18+
!!!!! ошибка !!!!! в левом !!!!!! соединении !!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2012, 09:34 |
|
||
|
Help!!! увеличивает сумму запроса в n раз!!!!
|
|||
|---|---|---|---|
|
#18+
книга - тип номенклатура? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2012, 14:49 |
|
||
|
Help!!! увеличивает сумму запроса в n раз!!!!
|
|||
|---|---|---|---|
|
#18+
Получите сначала таблицу содержащую книги в единственном количестве, а уже потом к этой таблице применяйте левое соединение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2012, 14:58 |
|
||
|
Help!!! увеличивает сумму запроса в n раз!!!!
|
|||
|---|---|---|---|
|
#18+
Спасибо всем за помощь. Есть еще пара неясностей.А если у нас на выходе должна быть таблица типа "товар,договор,кво, суммапродаж,себестоимость" Продажи идут без привязки к договорам.Те суммы должны повторяться для каждой пары договор-товар. Все равно надо строить сначала внутренний запрос с группировкой по товарам - те одна строка на каждый товар, а потом привязывать договорам??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2012, 16:52 |
|
||
|
Help!!! увеличивает сумму запроса в n раз!!!!
|
|||
|---|---|---|---|
|
#18+
Старайтесь не увлекаться внутренними запросами, т.к. нет гарантии что sql вернет нормальный план Лучше используйте временные таблицы, т.к. они дают более стабильное время выполнения + сам запрос становится более простым, а сервер с большей вероятностью построит оптимальный план выполнения запроса. В Вашем случае все зависит от количества договоров на 1 товар, если 1-2, то можно сразу получить необходимую вам таблицу (договор товар), а затем соединить ее с регистром продаж. Если договоров больше, то лучше вначале получить обороты в разрезе товара (получив еще 1 временную таблицу содержащую товары в единственном числе из таблицы товары договоры ), а потом уже соединить полученые данные с таблицей товары - договорами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2012, 17:18 |
|
||
|
Help!!! увеличивает сумму запроса в n раз!!!!
|
|||
|---|---|---|---|
|
#18+
rigus, Ой,а проблема таки в 2-х левых соединениях... Если одно - то сумма не задваивает.Сгруппировал еще и по суммам - действительно при одном левом соединении все ок, а при двух строк в 2 раза больше... Вроде левое должно добавлять столбцы к начальной табл, а не строки??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2012, 23:46 |
|
||
|
Help!!! увеличивает сумму запроса в n раз!!!!
|
|||
|---|---|---|---|
|
#18+
Shuhard, А где конкретно??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2012, 00:34 |
|
||
|
Help!!! увеличивает сумму запроса в n раз!!!!
|
|||
|---|---|---|---|
|
#18+
redking, осн.измерения "книга договор автор...",??? Это три основных измерения?? ну тогда в этом и проблема , если одна книга по двум договорам и может более одного автора... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2012, 12:39 |
|
||
|
Help!!! увеличивает сумму запроса в n раз!!!!
|
|||
|---|---|---|---|
|
#18+
vadim-tmn, а почему тогда одно левое соединение(любое продажи или себестоимость) - и сумма верная??? А если 2 (и продажи и себестоимость) - то сумма в 2 раза больше(или если сгруппировать по суммам то строк в 2 раза больше) А если 3 (и продажи и себестоимость и опять себестоимость ) - то сумма в 3 раза больше(или если сгруппировать по суммам то строк в 3 раза больше) и как правильно сделать??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2012, 13:29 |
|
||
|
Help!!! увеличивает сумму запроса в n раз!!!!
|
|||
|---|---|---|---|
|
#18+
redking, Что то типа такого)), а умножается когда два соединения, потому что несколько записей сначала соед из одной а потом умножаем на из второго соед... ВЫБРАТЬ ДоговораАвторов.Книга, ПродажиСебестоимость.Количество, ПродажиСебестоимость.Стоимость, ВложенныйЗапрос.Количество КАК Количество1, ВложенныйЗапрос.Стоимость КАК Стоимость1 ИЗ РегистрСведений.ДоговораАвторов.СрезПоследних(&ВыбДата, ) КАК ДоговораАвторов ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ СУММА(Продажи.Количество) КАК Количество, СУММА(Продажи.Стоимость) КАК Стоимость, Продажи.Книга КАК Книга ИЗ РегистрНакопления.Продажи КАК Продажи СГРУППИРОВАТЬ ПО Продажи.Книга) КАК ВложенныйЗапрос ПО ВложенныйЗапрос.Книга = ДоговораАвторов.Книга ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПродажиСебестоимость КАК ПродажиСебестоимость ПО ДоговораАвторов.Книга = ПродажиСебестоимость.Книга ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2012, 14:03 |
|
||
|
Help!!! увеличивает сумму запроса в n раз!!!!
|
|||
|---|---|---|---|
|
#18+
vadim-tmn, ой забыл ВЫБРАТЬ ДоговораАвторов.Книга, СУММА(ПродажиСебестоимость.Количество) КАК Количество, СУММА(ПродажиСебестоимость.Стоимость) КАК Стоимость, ВложенныйЗапрос.Количество КАК Количество1, ВложенныйЗапрос.Стоимость КАК Стоимость1 ИЗ РегистрСведений.ДоговораАвторов.СрезПоследних(&ВыбДата, ) КАК ДоговораАвторов ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ СУММА(Продажи.Количество) КАК Количество, СУММА(Продажи.Стоимость) КАК Стоимость, Продажи.Книга КАК Книга ИЗ РегистрНакопления.Продажи КАК Продажи СГРУППИРОВАТЬ ПО Продажи.Книга) КАК ВложенныйЗапрос ПО ВложенныйЗапрос.Книга = ДоговораАвторов.Книга ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПродажиСебестоимость КАК ПродажиСебестоимость ПО ДоговораАвторов.Книга = ПродажиСебестоимость.Книга СГРУППИРОВАТЬ ПО ДоговораАвторов.Книга, ВложенныйЗапрос.Количество, ВложенныйЗапрос.Стоимость ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2012, 14:05 |
|
||
|
Help!!! увеличивает сумму запроса в n раз!!!!
|
|||
|---|---|---|---|
|
#18+
vadim-tmn, Не понял??? вроде левое соединение только вправо расширяет таблицу, а не меняет уже существующие данные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2012, 15:14 |
|
||
|
Help!!! увеличивает сумму запроса в n раз!!!!
|
|||
|---|---|---|---|
|
#18+
redking, ну если там записей больше чем одно по полю соединения, то количество строк в левой увеличивается, дублируются, а когда еще прилепляете одну то увеличиваются уже увеличенные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2012, 15:24 |
|
||
|
Help!!! увеличивает сумму запроса в n раз!!!!
|
|||
|---|---|---|---|
|
#18+
vadim-tmn, Интересно... я опытным путем нашел, что если брать не "РегистрНакопления.Продажи", а "РегистрНакопления.Продажи.Обороты" и соответственно не "РегистрНакопления.ПродажиСебестоимость", а "РегистрНакопления.ПродажиСебестоимость.Обороты" то все ок.А почему??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2012, 16:16 |
|
||
|
Help!!! увеличивает сумму запроса в n раз!!!!
|
|||
|---|---|---|---|
|
#18+
А мне надо период вытянуть а периода в оборотах нету ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2012, 16:29 |
|
||
|
Help!!! увеличивает сумму запроса в n раз!!!!
|
|||
|---|---|---|---|
|
#18+
Либо настраивайте параметры виртуальных таблиц оборотов (Начало, конец периода, периодичность) Либо делайте номальное суммирование через ВЫБОР с учетом вида движения приход или расход. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2012, 17:42 |
|
||
|
Help!!! увеличивает сумму запроса в n раз!!!!
|
|||
|---|---|---|---|
|
#18+
rigus, Это оборотные регистры... нет ни прихода ни расхода... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2012, 20:11 |
|
||
|
Help!!! увеличивает сумму запроса в n раз!!!!
|
|||
|---|---|---|---|
|
#18+
Ауу - где все гуру? Неужели никто не знает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2012, 12:23 |
|
||
|
Help!!! увеличивает сумму запроса в n раз!!!!
|
|||
|---|---|---|---|
|
#18+
redking, Почему понятно?) потому что в оборотах уже все суммировано за указанный период! А что, то что я отправил, скрипт... не работает???) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2012, 13:55 |
|
||
|
Help!!! увеличивает сумму запроса в n раз!!!!
|
|||
|---|---|---|---|
|
#18+
Урра!!! дошло!!! А я забыл соединить регистры накопления по регистратору! Всем кто терпел мои мысленные потуги огромное спасибо!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2012, 14:25 |
|
||
|
|

start [/forum/topic.php?fid=28&msg=37712174&tid=1520560]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
80ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 449ms |

| 0 / 0 |
