|
Объединение запросов | ☑ | ||
---|---|---|---|---|
0
deringpavel
21.03.13
✎
13:26
|
Здравствуйте еще раз. Есть небольшой вопрос по объединению.
В общем, текст запроса такой: ВЫБРАТЬ ОсновныеНачисленияРаботниковОрганизаций.ПериодРегистрации КАК ПериодРегистрации, СУММА(ОсновныеНачисленияРаботниковОрганизаций.Результат) КАК Сумма ИЗ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисленияРаботниковОрганизаций ГДЕ ОсновныеНачисленияРаботниковОрганизаций.ПериодРегистрации МЕЖДУ &ДатаНачала И &ДатаОкончания И ОсновныеНачисленияРаботниковОрганизаций.Сотрудник = &Сотрудник СГРУППИРОВАТЬ ПО ОсновныеНачисленияРаботниковОрганизаций.ПериодРегистрации ОБЪЕДИНИТЬ ВЫБРАТЬ ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации, СУММА(ДополнительныеНачисленияРаботниковОрганизаций.Результат) ИЗ РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК ДополнительныеНачисленияРаботниковОрганизаций ГДЕ ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации МЕЖДУ &ДатаНачала И &ДатаОкончания И ДополнительныеНачисленияРаботниковОрганизаций.Сотрудник = &Сотрудник СГРУППИРОВАТЬ ПО ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации УПОРЯДОЧИТЬ ПО ПериодРегистрации Нужно, чтобы основные начисления суммировались с дополнительными. Скажем, есть строка за 01 сентября 2009 года - это сумма основных начислений, и ниже имеется строка от 30 сентября - это дополнительные начисления. Как сделать, чтобы эти две строки были одной строкой? |
|||
1
vicof
21.03.13
✎
13:29
|
или объединением, или соединением. Только нафига в данном контексте.
|
|||
2
YouAreEmpty
21.03.13
✎
13:31
|
(0) Помести в виртуальную таблицу, а после сгруппируй результат по по периоду регистрации и получишь нужную сумму. Это если для объединения
|
|||
3
deringpavel
21.03.13
✎
13:34
|
Поместить в виртуальную таблицу - какой именно регистр?
|
|||
4
vicof
21.03.13
✎
13:35
|
(2) Мож во временную?
|
|||
5
GANR
21.03.13
✎
13:36
|
1. ОБЪЕДИНИТЬ на ОБЪЕДИНИТЬ ВСЕ
2. Обернуть запрос во вложенный и сгруппировать |
|||
6
deringpavel
21.03.13
✎
13:45
|
Попробовал сейчас создать вложенный запрос, результаты получились те же.
|
|||
7
deringpavel
21.03.13
✎
13:52
|
||||
8
GANR
21.03.13
✎
13:52
|
(6) СГРУППИРОВАТЬ ПО надо применить после оборачивания во вложенный запрос. Было сделано?
|
|||
9
deringpavel
21.03.13
✎
13:54
|
Сейчас пришлю код
|
|||
10
vicof
21.03.13
✎
13:57
|
(7) Ага, и все даты разные.
я ж говорю, нафига это надо (1). Или даты убирай, или учи запросы. |
|||
11
deringpavel
21.03.13
✎
13:57
|
ВЫБРАТЬ
ВложенныйЗапрос.ПериодРегистрации, ВложенныйЗапрос.Результат ИЗ (ВЫБРАТЬ ОсновныеНачисленияРаботниковОрганизаций.ПериодРегистрации КАК ПериодРегистрации, СУММА(ОсновныеНачисленияРаботниковОрганизаций.Результат) КАК Результат ИЗ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисленияРаботниковОрганизаций ГДЕ ОсновныеНачисленияРаботниковОрганизаций.Сотрудник = &Сотрудник И ОсновныеНачисленияРаботниковОрганизаций.ПериодРегистрации МЕЖДУ &ДатаНачала И &ДатаОкончания СГРУППИРОВАТЬ ПО ОсновныеНачисленияРаботниковОрганизаций.ПериодРегистрации ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации, СУММА(ДополнительныеНачисленияРаботниковОрганизаций.Результат) ИЗ РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК ДополнительныеНачисленияРаботниковОрганизаций ГДЕ ДополнительныеНачисленияРаботниковОрганизаций.Сотрудник = &Сотрудник И ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации МЕЖДУ &ДатаНачала И &ДатаОкончания СГРУППИРОВАТЬ ПО ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации) КАК ВложенныйЗапрос |
|||
12
GANR
21.03.13
✎
13:57
|
ВЫБРАТЬ
ВЗ.ПериодРегистрации, СУММА(ВЗ.Сумма) КАК Сумма ИЗ (ВЫБРАТЬ ОсновныеНачисления.ПериодРегистрации КАК ПериодРегистрации, ОсновныеНачисления.Результат КАК Сумма ИЗ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисления ГДЕ ОсновныеНачисления.ПериодРегистрации МЕЖДУ &ДатаНачала И &ДатаОкончания И ОсновныеНачисления.Сотрудник = &Сотрудник ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ДополнительныеНачисления.ПериодРегистрации, ДополнительныеНачисления.Результат ИЗ РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК ДополнительныеНачисления ГДЕ ДополнительныеНачисления.ПериодРегистрации МЕЖДУ &ДатаНачала И &ДатаОкончания И ДополнительныеНачисления.Сотрудник = &Сотрудник) КАК ВЗ СГРУППИРОВАТЬ ПО ВЗ.ПериодРегистрации |
|||
13
GANR
21.03.13
✎
13:58
|
(11) Естественно будет (7)!
СГРУППИРОВАТЬ ПО ВложенныйЗапрос.ПериодРегистрации отсутствует. Пробуй (12). |
|||
14
vicof
21.03.13
✎
13:59
|
(12) У него все периоды разные. тут хоть группируй, хоть не группируй
|
|||
15
GANR
21.03.13
✎
14:01
|
ВЫБРАТЬ
ВЗ.ПериодРегистрации, СУММА(ВЗ.Сумма) КАК Сумма ИЗ (ВЫБРАТЬ НАЧАЛОПЕРИОДА(ОсновныеНачисления.ПериодРегистрации, МЕСЯЦ) КАК ПериодРегистрации, ОсновныеНачисления.Результат КАК Сумма ИЗ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисления ГДЕ ОсновныеНачисления.ПериодРегистрации МЕЖДУ &ДатаНачала И &ДатаОкончания И ОсновныеНачисления.Сотрудник = &Сотрудник ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ НАЧАЛОПЕРИОДА(ДополнительныеНачисления.ПериодРегистрации, МЕСЯЦ), ДополнительныеНачисления.Результат ИЗ РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК ДополнительныеНачисления ГДЕ ДополнительныеНачисления.ПериодРегистрации МЕЖДУ &ДатаНачала И &ДатаОкончания И ДополнительныеНачисления.Сотрудник = &Сотрудник) КАК ВЗ СГРУППИРОВАТЬ ПО ВЗ.ПериодРегистрации |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |