Yaroslav Schekin
Да Вы могли бы просто Foreign Keys "наружу" из этого подмножества таблиц порезать, а все нужные типы/функции и т.п. — добавить.
Да и обзорное описание того, что должен делать запрос / функция, тоже неплохо бы привести — так легче разбираться, IMHO.
Как-то так.
Есть следующие таблицы
client - данные клиента.
sale - содержит информацию о продажах ссылается на client.
sale_item содержит информацию об “элементе продажи”, ссылается на продукт, на продажу, содержит данные о количестве, о единице измерения, о цене продажи. Цена продажи - оьъект jsonb, содержащий value и код валюты.
product- содержит инфо о товаре.
catalog - описание каталога, каталогов может быть много.
catalog_category - описание категории, ссылается на каталог, также ссылается на catalog_category с образованием иерархической структуры.
product_category_mapping - маппинг продуктов на категории. Один продукт может принадлежать нескольким категориям или не пригадлежать ни одной.
Задача:
Сделать запрос, выдающий отсет по продажам за временной период
⁃ суммарные показатели (сумма в разных валютах, количество в разных единицах, число продуктов, число категорий, число каталогов, число торговых дней, число клиентов)
⁃ то же самое в разрезе: По дням, по продуктам, по каталогам, по категориям, по клиентам.
⁃ в пункте выше также по каждому разрезу нужны массивы id продуктов, клиентов, категорий и т.д.