#sql #oracle #group-by
#sql #Oracle #группировать по
Вопрос:
Я пытался рассчитать общую цену за «BESTELLING_ID». Но я не знаю, с чего начать. Группировка по bestelling_id, похоже, не работает. Здесь вы можете увидеть результат запроса, в котором я хочу суммировать значение вычисления для «BESTELLING_ID». Я пытался рассмотреть другие вопросы, но, похоже, я не могу связать ответы на свой вопрос. Я хочу использовать это для диаграммы, которая показывает стоимость личного заказа на заказы. Заранее спасибо.
BESTELLING_ID NAAM ((P.PRIJS)*(R5.GEWICHT/100))
1 ui .25
1 pindakaas 1.7
22 Broccoli 1
22 Rijst 1
select b.bestelling_id ,p.naam, ((p.prijs)* (r5.gewicht/100))
from relation_6 r6
join bestellingregel br on br.dieet_dieet_id= r6.dieet_id
join bestelling b on br.bestelling_id=b.bestelling_id
join relation_5 r5 on r5.recept_recept_id= r6.recept_id
join product p on p.product_id = r5.product_product_id
where p.winkelbeheer_winkelbeheer_id=2
order by b.datum
;
Ответ №1:
Используйте это:
select
a.col1 as BESTELLING_ID,sum(a.col3) as Total_Price
from (
SELECT b.bestelling_id col1, p.naam col2, ( (p.prijs) * (r5.gewicht / 100)) col3
FROM relation_6 r6
JOIN bestellingregel br ON br.dieet_dieet_id = r6.dieet_id
JOIN bestelling b ON br.bestelling_id = b.bestelling_id
JOIN relation_5 r5 ON r5.recept_recept_id = r6.recept_id
JOIN product p ON p.product_id = r5.product_product_id
WHERE p.winkelbeheer_winkelbeheer_id = 2
ORDER BY b.datum ) a
group by a.col1;
Комментарии:
1. Большое спасибо! Мне придется попробовать это с помощью более простого запроса, чтобы увидеть, как это работает на самом деле. Но пока это мне очень поможет!
Ответ №2:
Вам не нужен подзапрос, просто group by
:
select b.bestelling_id, sum((p.prijs)* (r5.gewicht/100))
from relation_6 r6 join
bestellingregel br
on br.dieet_dieet_id = r6.dieet_id join
bestelling b
on br.bestelling_id = b.bestelling_id join
relation_5 r5
on r5.recept_recept_id = r6.recept_id join
product p
on p.product_id = r5.product_product_id
where p.winkelbeheer_winkelbeheer_id = 2
group by b.bestelling_id;
Возможно, вы сможете включить p.naam
в select
и group by
, предполагая, что существует только одно имя на bestselling_id
.