|
Помогите с запросом | ☑ | ||
---|---|---|---|---|
0
aspect
22.12.11
✎
16:20
|
ВЫБРАТЬ РАЗЛИЧНЫЕ
ПродажиОбороты.Регистратор, ПродажиОбороты.Номенклатура, ПродажиОбороты.ПериодДень, ВложенныйЗапрос.Период, ВложенныйЗапрос.Цена ИЗ РегистрНакопления.Продажи.Обороты(&НачПериода, &КонПериода, Авто, ) КАК ПродажиОбороты ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ЦеныНоменклатурыСрезПоследних.Период КАК Период, ЦеныНоменклатурыСрезПоследних.Цена КАК Цена, ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура, ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних) КАК ВложенныйЗапрос ПО ПродажиОбороты.Номенклатура = ВложенныйЗапрос.Номенклатура И ПродажиОбороты.ХарактеристикаНоменклатуры = ВложенныйЗапрос.ХарактеристикаНоменклатуры И ПродажиОбороты.ПериодДень > ВложенныйЗапрос.Период |
|||
1
YF
22.12.11
✎
16:21
|
Телепаты уже спешат тебе на помощь :-)
|
|||
2
aspect
22.12.11
✎
16:27
|
(1) сорри, нужно к номенклатуре подсоединить только последнюю цену, а не все за прошлый период. Если ограничиваю подзапрос выбрать первые 1 - не находит цен, т.к. есть цены заданные после периода продажи обороты.
|
|||
3
YF
22.12.11
✎
16:27
|
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ Первые 1
не работает? |
|||
4
kuromanlich
22.12.11
✎
16:29
|
(2) в книге знаний есть пример как организовать срез последний в запросе
|
|||
5
kuromanlich
22.12.11
✎
16:30
|
(3) этот способ еще до связи обрезает таблицу, по сему не катит
|
|||
6
aspect
22.12.11
✎
16:30
|
(4) Кажется нашел: Книга знаний: Срез последних на каждую дату в запросе;
|
|||
7
kuromanlich
22.12.11
✎
16:31
|
(6) оно самое
|
|||
8
ssh2006
22.12.11
✎
16:51
|
ВЫБРАТЬ
ПродажиОбороты.ПериодДень, ПродажиОбороты.Регистратор, ПродажиОбороты.Номенклатура, ПродажиОбороты.ХарактеристикаНоменклатуры, ЦеныНоменклатуры.ТипЦен, ЦеныНоменклатуры.Цена ИЗ РегистрНакопления.Продажи.Обороты(&НачПериода, &КонПериода, Авто, ) КАК ПродажиОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры ПО ПродажиОбороты.ХарактеристикаНоменклатуры = ЦеныНоменклатуры.ХарактеристикаНоменклатуры И ((ЦеныНоменклатуры.Период, ЦеныНоменклатуры.ТипЦен) В (ВЫБРАТЬ МАКСИМУМ(ТабЦеныНоменклатуры.Период) КАК Период, ТабЦеныНоменклатуры.ТипЦен ИЗ РегистрСведений.ЦеныНоменклатуры КАК ТабЦеныНоменклатуры ГДЕ ТабЦеныНоменклатуры.Номенклатура = ПродажиОбороты.Номенклатура И ТабЦеныНоменклатуры.ХарактеристикаНоменклатуры = ПродажиОбороты.ХарактеристикаНоменклатуры И ТабЦеныНоменклатуры.Период <= ПродажиОбороты.ПериодДень СГРУППИРОВАТЬ ПО ТабЦеныНоменклатуры.ТипЦен)) И ПродажиОбороты.Номенклатура = ЦеныНоменклатуры.Номенклатура |
|||
9
aspect
22.12.11
✎
18:31
|
(8) Спасибо, так и сделал (первый пример статьи), работает быстро.
|
|||
10
AndOne
22.12.11
✎
18:35
|
(8)
за такую реализацию запроса необхоимо отстреливать :) |
|||
11
aspect
22.12.11
✎
18:39
|
(10) Вот ссылка Книга знаний: Срез последних на каждую дату в запросе; , отстреливайте, только приведите свое решение, т.к. я сдался.
|
|||
12
ssh2006
23.12.11
✎
10:25
|
(9) в статье в первом примере по другому сделано. В моем примере подзапрос в условии соединения использует поля внешнего запроса - корелированный подзапрос.
(10) за пиз**жь без аргументации в угол ставить надо |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |