From aa3bf72177c42d70c4e2fe778454d7c188114e6a Mon Sep 17 00:00:00 2001 From: Sayakhfarov_RH Date: Mon, 9 Feb 2026 19:03:05 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D1=8F?= =?UTF-8?q?=D0=B5=D1=82=20=D0=B7=D0=B0=D0=BF=D1=80=D0=BE=D1=81=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) diff --git a/README.md b/README.md index 3536832..4814ab7 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,85 @@ category_closure, без рекурсивных CTE и сложной логик --- +#### Все товары в категории Бытовая техника (id = 1): +```sql +SELECT + p.* +FROM + product p +inner join + category_closure cc ON + cc.descendant_id = p.category_id +WHERE + cc.ancestor_id = 1 +ORDER BY + p.id +; +``` +``` text +id|category_id|name |quantity|price | +--+-----------+------------------------------+--------+--------+ + 1| 3|Стиральная машина LG 6kg | 10.000|35000.00| + 2| 3|Стиральная машина Samsung 7kg | 5.000|42000.00| + 3| 6|Холодильник однокамерный Beko | 7.000|28000.00| + 4| 7|Холодильник двухкамерный Bosch| 3.000|55000.00| + 5| 5|Телевизор Samsung 43" | 12.000|32000.00| + 6| 5|Телевизор LG 55" | 4.000|58000.00| +``` + +#### "Хлебные крошки" для категории Двухкамерные холодильники +``` +SELECT + c.* +FROM + category_closure cc +inner join + category c ON + c.id = cc.ancestor_id +WHERE + cc.descendant_id = 7 +ORDER BY + cc.depth desc +; +``` + +``` +id|parent_id|name | +--+---------+---------------+ + 1| |Бытовая техника| + 4| 1|Холодильники | + 7| 4|Двухкамерные | +``` + +#### Пример получения заказа +``` +SELECT + p.name as "Наименование" + , c."name" as "Категория" + , coi.quantity as "Кол-во" + , coi.price_at_time as "Цена" + , coi.quantity * coi.price_at_time as "Сумма" + , sum(coi.quantity * coi.price_at_time) over() as "Итого" +FROM + customer_order_item coi +inner join + product p on + p.id = coi.product_id +inner join + category c on + c.id = p.category_id +WHERE + coi.order_id = 3 +; +``` +``` +Наименование |Категория |Кол-во|Цена |Сумма |Итого | +-----------------------------+-----------------+------+--------+------------+------------+ +Стиральная машина Samsung 7kg|Стиральные машины| 1.000|42000.00| 42000.00000|186000.00000| +Моноблок HP 24" |Моноблоки | 2.000|72000.00|144000.00000|186000.00000| +``` + + ### Примеры данных в таблицах #### Покупатели