Составление запроса с агрегатными функциями - MySQL
Формулировка задачи:
Добрый день! Помогите пожалуйста правильно составить запрос:
Таблица operations имеет такую структуру(для нее есть еще доп. таблица со свойствами - ее приводит не буду):
opr_id | opr_type | opr_document | opr_quantity | opr_item
1________2___________1_____________10________2
2________2___________1_____________3_________5
3________2___________2_____________4________16
4________1___________4_____________1________18
Что делает данный запрос - понятно.
И есть такой запрос. Он сначала группирует по типу и документу
Так вот хотелось бы объединить два этих запроса в один. Т.е. расчитывать sls_total_cost и sls_total_payment в одном запросе. Но проблема в том, что для расчета sls_total_cost группировка не нужна, а для sls_total_payment обязательна.
Буду благодарен за помощь
Листинг программы
- SELECT
- COALESCE( SUM(CASE WHEN opr_type=2 THEN oap_cost*opr_quantity ELSE 0 END), 0.0) sls_total_cost
- FROM operations
- JOIN operations_additional_prop ON opr_id = oap_operation
Листинг программы
- SELECT
- COALESCE( SUM(CASE WHEN opr_type=2 THEN (ТУТ БУДЕТ ПОДЗАПРОС НА ОСНОВАНИИ ID ДОКУМЕНТА) ELSE 0 END), 0.0) sls_total_payment
- FROM operations
- JOIN operations_additional_prop ON opr_id = oap_operation
- GROUP BY opr_type, opr_document
Решение задачи: «Составление запроса с агрегатными функциями»
textual
Листинг программы
- SELECT COALESCE(SUM(ТУТ БУДЕТ ПОДЗАПРОС НА ОСНОВАНИИ ID ДОКУМЕНТА), 0.0) sls_total_payment,
- (SELECT COALESCE( SUM(oap_cost*opr_quantity), 0.0) FROM operations
- JOIN operations_additional_prop ON opr_id = oap_operation
- WHERE opr_type=2) sls_total_cost
- FROM operations
- JOIN operations_additional_prop ON opr_id = oap_operation
- WHERE opr_type = 2
- GROUP BY opr_document
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д