Имя: Пароль:
1C
1C 7.7
v7: 1SQLITE: UNION ALL в запросе, как "свернуть" по суммовым полям?
,
0 Zhuravlik
 
24.05.13
11:24
Здравствуйте, помогите разобраться пожалуйста с запросом. Необходимо выбрать все элементы справочника, и показать в отдельном поле сумму
движений по оборотному регистру (где измерение - элемент этого справочника) по ресурсу "Пробег", сложенную с значением реквизита справочника "Приращение" (число).
Выполняю запрос:

Селект1 --Выборка по справочнику
Union all
Селект2 --Выборка по движениям регистра


Результат первого селекта напр. будет такой:
Справ.     Реквизит "Приращение"
Шина №1    | 2

Результат второго такой:

Измер.     Ресурс "Пробег"
Шина №1    | 4500


В результате UNION ALL вернет мне такую таблицу:
Шина №1    | 2
Шина №1    | 4500

А как ее свернуть, чтобы вот так было?
Шина №1    | 4502
1 PR
 
24.05.13
11:26
Во вложенный запрос и сгруппировать.
2 PR
 
24.05.13
11:27
+(1) А, это семерка. Не помню уже, как там.
3 Mikeware
 
24.05.13
11:31
(2) так же.
4 Zhuravlik
 
24.05.13
11:35
(3) А можно примерчик какой?
5 Zhuravlik
 
24.05.13
11:39
Я понял кажется о чем речь...

Select
   Шина
FROM
   (
       Селект1 --Выборка по справочнику
       Union all
       Селект2 --Выборка по движениям регистра
   )
GROUP BY Шина
6 Mikeware
 
24.05.13
11:40
(5) кроме того, _по_чему_ группировать - нужно еще и _что_ группировать. ну, и _как_ - тоже
7 ДенисЧ
 
24.05.13
11:42
(5)
Select
   Шина, SUM(ИмяРеквизитаИзСправочника)
FROM
   (
       Селект1 --Выборка по справочнику
       Union all
       Селект2 --Выборка по движениям регистра
   )

GROUP BY Шина
8 Zhuravlik
 
24.05.13
11:44
Большое спасибо, уже сделал)
9 Zhuravlik
 
24.05.13
11:46
А если мне нужно будет выбрать записи по максимальному значению суммы, это еще один вложенный запрос, или
MAX(SUM(Поле)) - прокатит?
10 Zhuravlik
 
24.05.13
11:49
MAX(SUM(Поле))  - не катит... Значит вложенный?
11 Zhuravlik
 
24.05.13
11:58
Подскажите, вложенность - это обязательно, или можно каким-то способом  в тек. выборке можно сделать условие на MAX()?
12 Zhuravlik
 
24.05.13
11:58
+ А то больно страшный текстЗапроса получается с двумя вложенными селектами...
13 ЧеловекДуши
 
24.05.13
12:22
(11) Если без вложенности, то попробуй обойтись без "Union all"
Или использовать "Union", на худой конец ;)
14 acsent
 
24.05.13
12:26
что значит по максимальному значению?