|
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
|
что значит по максимальному значению?
|
|
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой