Требуется некоторая теоретическая справка по Oracle SQL о наилучшем способе обработки сгруппированного набора результатов.Я понимаю, почему это группируется так, как это происходит, но я пытаюсь выяснить, есть ли способ
У меня есть таблица, в которой перечислены действия некоторых МВЗ.Это выглядит так:
Company Object Sub July August
A 1 20 50
A 1 10 0
A 1 10 0 20
B 1 0 0
Затем мне нужно указать, была ли активность в августе.Поэтому я пишу оператор CASE, в котором если август = 0, то «FALSE», ELSE «TRUE».Затем мне нужно сгруппировать все записи по компании, объекту и подразделу.Накопительная колонка представляет собой сумму за июль и август.Тем не менее, мой вывод выглядит следующим образом:
Company Object Sub SUM ActivityFlag
A 1 70 TRUE
A 1 10 FALSE
A 1 10 20 TRUE
B 1 0 FALSE
Мне нужно вот что:
Company Object Sub August ActivityFlag
A 1 80 TRUE
A 1 10 20 TRUE
B 1 0 FALSE
Очевидно, это упрощенный пример гораздо более серьезной проблемы, но я пытаюсьпродумать эту проблему теоретически, чтобы я мог применить аналогичную логику к моей актуальной проблеме.
Есть ли хороший метод SQL для добавления суммы в августе для строк 1 и 2, а затем выбора ИСТИНЫ, чтобы это отображалось в одной строке?Я надеюсь это имеет смысл.