Я работаю над запросом SQL.Запрос выглядит примерно так:
Select
a.field1,
b.field2,
c.field3,
c.field4,
b.filed5,
a.field6,
d.field7
from
a
Inner join b on a.field1 = b.field1
right join c on b.field2 = c.field3
left join d on d.filed3 = a.field1
where some conditions;
Вывод вышеизложенного будет выглядеть примерно так:
field1 | field2 | field3 | field4 | field5 | field6 | field7
--------------------------------------------------------------
name | value1 | other1 | 1 | diff | new | 100
name1 | value2 | other2 | 1 | diff1 | new1 | 100
name2 | value3 | other3 | 2 | diff2 | new2 | 100
Поэтому мне нужен новый столбец в результате, который суммирует field7
на основе значения field4
(если они одинаковые).
Возможно ли это в SQL?Я попытался использовать Group by field 4
здесь, но я получаю ошибку, что field1
должен использоваться в группе по.Поэтому я не могу получить ожидаемый результат.
Ожидаемый результат:
field1 | field2 | field3 | field4 | field5 | field6 | field7
--------------------------------------------------------------
name | value1 | other1 | 1 | diff | new | 200
some | value3 | other3 | 2 | diff2 | new2 | 100
В основном я хочу удалить один столбец на основе условия и суммировать последнее поле.
Любые предложения полезны.