Начиная с существующего запроса, вам необходимо поместить все select
ed столбцы, которые не входят в агрегатную функцию, в предложение group by
(то есть все столбцы, за исключением quantity
). Я также предлагаю включить первичные ключи таблицы client
и dish
, на случай, если два клиента (соответственно блюда) имеют одно и то же имя.
Рассмотрим следующий совокупный запрос:
select c.family_name, c.name, c.phone, sum(o.quantity) sum_quantity, d.name_dish
from ordering o
inner join client c on c.id = o.client_id
inner join dish d on o.dish_id = d.id
group by c.client_id, c.family_name, c.name, c.phone, d.id, d.name_dish
Некоторые базы данных (на самом деле, Postgres) довольствуются только первичными ключами двух таблиц в предложении group by
:
select c.family_name, c.name, c.phone, sum(o.quantity) sum_quantity, d.name_dish
from ordering o
inner join client c on c.id = o.client_id
inner join dish d on o.dish_id = d.id
group by c.client_id, d.id