847

Помогу бесплатно: Java и SQL

Помогу советом изучающим Java и SQL или начинающим программистам.


Не решаю задачи, не делаю ДЗ. Только объясняю что, как и почему устроено.


Рейтинг в топку, просто хочу помочь.

Помощники

243 поста785 подписчиков

Правила сообщества

Нельзя обсуждать Политику.
Ругаться и оскорблять.

Вы смотрите срез комментариев. Показать все
0
DELETED
Автор поста оценил этот комментарий
Добрый день, подскажите, правильно ли я на это условие написал запрос

В Базе данных есть 2 таблицы:
Sales (MonthId int, RTN int, sales_rub float)
Plans (MonthId int, RTN int, plan_rub float)
Где MonthId  - Id месяца, вида 202101, где первые 4 цифры год, 2 последних – номер месяца
, RTN – Id рук-ля товарного направления (РТН)

Написать скрипт.
Который выведет сумму фактических продаж и плановых продаж по месяцам(MonthId) за 2021 год. При этом план может быть не по всем РТН, а продажи есть у всех РТН, по которым есть план.

SELECT s.Monthid,SUM(s.sales_rub), SUM(p.planes_rub)
FROM sales AS s
LEFT JOIN Plans AS p
ON s.Monthid = p.Monthid
AND s.Rtn = p.Rtn
WHERE s.Monthid LIKE'2021%'
GROUP BY Monthid
;
раскрыть ветку (4)
1
Автор поста оценил этот комментарий

Добрый день!
Соединение по РТН не нужно, так как группировка делается в разрезе месяца.
Тут вопрос: если продаж и планов нет на какой-нибудь месяц, то его надо выводить или нет? Если нет, то такое решение подойдёт, если надо - то придётся усложнять.
Так как факт всегда есть, когда есть план, то можно использовать простое соединение - JOIN, а не левое соединение.

раскрыть ветку (3)
0
DELETED
Автор поста оценил этот комментарий
Спасибо
0
DELETED
Автор поста оценил этот комментарий
таблица:
Sales (MonthId int, RTN int, sales_rub float)
Где MonthId - Id месяца, вида 202101, где первые 4 цифры год, 2 последних – номер месяца
, RTN – Id рук-ля товарного направления (РТН)
Написать скрипт.
Добавить столбец, где будет рассчитана разница между среднемесячным (за квартал) значением продаж и текущим значением продаж в месяце

Можете ещё подсказать, как такой запрос выполнить? Хотя бы с чего начать.
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

AVG - агрегатная функция, которая возвращает среднее значение.

Сначала надо найти средние значения за квартал, а потом эту таблицу присоединить выборке с группировкой по месяцам. Соединять по номеру квартала + год.

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества