Я хочу сгруппировать по запросу SQL по pv.name, что приводит к ошибке. Есть альтернативы? - PullRequest
0 голосов
/ 23 апреля 2020

ВЫБРАТЬ pv.id, SUM (pv.unit_for_inventory), pv.name из order_items oi левые заказы на присоединение o на oi.order_id = o.id левое объединение product_variants pv на oi.product_variant_id = pv.id где o.status = ГРУППА 'DELIVERED' по pv.id ORDER BY pv.name введите описание изображения здесь

на изображении выше, есть несколько записей с одинаковым именем, оно должно быть сгруппировано вместе

1 Ответ

0 голосов
/ 23 апреля 2020

Группировка по всем неагрегированным столбцам:

select pv.id, SUM(pv.unit_for_inventory), pv.name
from order_items oi join
     orders o
     on oi.order_id = o.id left join
     product_variants pv 
     on oi.product_variant_id = pv.id
where o.status = 'DELIVERED' 
group by pv.id, pv.name 
order by pv.name;

Обратите внимание, что от left join до orders определенно не требуется, поскольку предложение where требует совпадения. Вы, вероятно, не хотите от left join до product_variants.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...