|
Возможно ли такое получить в запросе и как | ☑ | ||
---|---|---|---|---|
0
mr_K
21.03.12
✎
14:29
|
Есть таблица
Номенклатура | Дата1 | Дата2 | Количество Товар1 | 01.01.12 | 01.02.12 | 10 Товар1 | 08.01.12 | 01.02.12 | 11 Товар1 | 15.01.12 | 01.02.12 | 12 Товар1 | 22.01.12 | 15.02.12 | 13 Товар1 | 29.01.12 | 15.02.12 | 14 Товар1 | 05.02.12 | 30.02.12 | 15 Товар1 | 12.02.12 | 15.03.12 | 16 и так далее для некоторого количества номенклатуры Нужно для каждой строчке посчитать сумму Количества по строчкам у которых Дата1 МЕЖДУ (Дата1 исходной строчки) И (Дата2 исходной строчки) Например для исходной таблицы (первый 2 строчки) Для первой: Дата2 = 01.02.12. У этой строчки удовлетворяющие условию - это строчки с 1 по 5. Итого сумма(Количество) = 60 Для второй: Дата2 = 01.02.12. У этой строчки удовлетворяющие условию - это строчки с 2 по 5. Итого сумма(Количество) = 50 ну и так далее. Возможно такое в запросе и как? Весь мозк уже сломал )) |
|||
1
Kashemir
21.03.12
✎
14:38
|
Да запросто
|
|||
2
zinch
21.03.12
✎
14:41
|
Таблицу саму с собой соедини и сгруппируй
|
|||
3
mr_K
21.03.12
✎
14:43
|
(1) Ну....(заинтриговано)
(2) параметры соединения каковы? |
|||
4
КонецЕсли
21.03.12
✎
14:44
|
...по ЛевосоединённаяТаблица.Дата1 МЕЖДУ ИсхТаблица.Дата1 И ИсхТаблица.Дата2
|
|||
5
КонецЕсли
21.03.12
✎
14:44
|
сам же всё написал в (0)
|
|||
6
Ненавижу 1С
гуру
21.03.12
✎
14:45
|
(3) наверное товар и условие пересечения интервалов:
Т1.Дата1<=Т2.Дата2 И Т1.Дата2>=Т2.Дата1 |
|||
7
mr_K
21.03.12
✎
14:47
|
Секундочку, в консоли щас напишу для приведенной таблички, чувствую не все так просто..
|
|||
8
Kashemir
21.03.12
✎
14:48
|
||||
9
mr_K
21.03.12
✎
14:50
|
Мне в результирующую табличку нужно для каждой номенклатуры и даты1 посчитать суммарное количество
Если в подзапросе группирую только по номенклатуре - не могу по дата1 соединить. Если по номенклатуре и дата1 - то не суммирует как нужно |
|||
10
Kashemir
21.03.12
✎
14:51
|
(0) Кстати пример не корректный - 30.02 любопытная дата ;-)
|
|||
11
mr_K
21.03.12
✎
14:51
|
(10) Будем считать 29.02.2012. Не принципиально. ))
|
|||
12
Kashemir
21.03.12
✎
14:52
|
(9) Не понял проблемы
|
|||
13
Ненавижу 1С
гуру
21.03.12
✎
14:52
|
(9) что не так в (8) ?
|
|||
14
КонецЕсли
21.03.12
✎
14:56
|
Он похоже хочет, чтобы включенные в сумму строчки не выводились в итоговые результаты?
|
|||
15
Ненавижу 1С
гуру
21.03.12
✎
15:00
|
(14) тогда какая из них "исходная"?
|
|||
16
КонецЕсли
21.03.12
✎
15:02
|
(9) Объясняй, что значит "не суммирует как нужно".
|
|||
17
mr_K
21.03.12
✎
15:02
|
Секундочку, во-первых ссылка из 9 мне не доступна, уж не знаю что там
Далее, предположим делаю выбрать т1.Номенклатура,т1.дата1 ИЗ таб как т1 Левое соединение (выбрать номенклатура, дата1, сумма(количество) из таб как вт ГДЕ Дата1 МЕЖДУ ... сгруппировать по номенклатура,дата1) - суммирует не правильно Если выбирать только номенклатуру и группировать по ней же в подзапросе - то соединять не по чему. Да и передать из внешней таблицы во внутреннюю не больно получается Дата1 и Дата2 |
|||
18
Kashemir
21.03.12
✎
15:05
|
(17) В (9)
ВЫБРАТЬ ТЗДвижения.Номенклатура, ТЗДвижения.Дата1, ТЗДвижения.Дата2, ТЗДвижения.Количество ПОМЕСТИТЬ ТЗДвижения ИЗ &ТЗДвижения КАК ТЗДвижения ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТЗДвижения.Номенклатура КАК Номенклатура, ТЗДвижения.Дата1 КАК Дата1, ТЗДвижения.Дата2, СУММА(ТЗДвижения1.Количество) КАК Количество ИЗ ТЗДвижения КАК ТЗДвижения ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТЗДвижения КАК ТЗДвижения1 ПО ТЗДвижения.Номенклатура = ТЗДвижения1.Номенклатура И ТЗДвижения.Дата2 >= ТЗДвижения1.Дата1 И ТЗДвижения.Дата1 <= ТЗДвижения1.Дата1 СГРУППИРОВАТЬ ПО ТЗДвижения.Дата2, ТЗДвижения.Номенклатура, ТЗДвижения.Дата1 УПОРЯДОЧИТЬ ПО Номенклатура, Дата1 |
|||
19
mr_K
21.03.12
✎
15:10
|
Вот так получилось:
ВЫБРАТЬ Таб1.Номенклатура КАК Номенклатура, Таб1.Дата1 КАК Дата1, СУММА(Таб2.Количество) КАК Количество ИЗ Таб КАК Таб1 ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ВТ.Номенклатура, ВТ.Дата1, СУММА(ВТ.Количество) ИЗ Таб КАК ВТ СГРУППИРОВАТЬ ПО ВТ.Номенклатура, ВТ.Дата1) КАК Таб2 ПО Таб1.Номенклатура = Таб2.Номенклатура И Таб2.Дата1 МЕЖДУ Таб1.Дата1 И Таб1.Дата2 СГРУППИРОВАТЬ ПО Таб1.Номенклатура, Таб1.Дата1 Спасибо всем! )) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |