| | 324 | == Месечен преглед на набавни нарачки (последни 12 месеци) == |
| | 325 | |
| | 326 | Цел: Овој query прави агрегатен месечен извештај за набавките во последните 12 месеци. |
| | 327 | Се прикажува вкупен број на нарачки, вкупно нарачана количина, примена количина и количина што сe уште не е примена, по добавувач и магацин. |
| | 328 | |
| | 329 | {{{#!sql |
| | 330 | SELECT |
| | 331 | TO_CHAR(date_trunc('month', po.order_date), 'YYYY-MM') AS order_month, |
| | 332 | w.name AS warehouse_name, |
| | 333 | sup.name AS supplier_name, |
| | 334 | COUNT(DISTINCT po.po_id) AS total_orders, |
| | 335 | SUM(poi.quantity) AS total_ordered_quantity, |
| | 336 | SUM(poi.received_quantity) AS total_received_quantity, |
| | 337 | SUM(poi.quantity - poi.received_quantity) AS total_pending_quantity |
| | 338 | FROM purchase_order po |
| | 339 | JOIN purchase_order_item poi ON po.po_id = poi.po_id |
| | 340 | LEFT JOIN supplier sup ON po.supplier_id = sup.supplier_id |
| | 341 | JOIN warehouse w ON po.warehouse_id = w.warehouse_id |
| | 342 | WHERE po.order_date >= date_trunc('month', CURRENT_DATE) - INTERVAL '11 months' |
| | 343 | GROUP BY order_month, w.name, sup.name |
| | 344 | ORDER BY order_month DESC; |
| | 345 | }}} |
| | 346 | |
| | 347 | '''Релациона алгебра:''' |
| | 348 | {{{ |
| | 349 | γ warehouse_name, supplier_name ; COUNT(po_id)->total_orders, SUM(quantity)->total_ordered_quantity, SUM(received_quantity)->total_received_quantity, SUM(pending)->total_pending_quantity ( |
| | 350 | π po_id, warehouse_name, supplier_name, quantity, received_quantity, quantity - received_quantity -> pending ( |
| | 351 | ( |
| | 352 | ( |
| | 353 | purchase_order |
| | 354 | ⋈ purchase_order_item |
| | 355 | ) |
| | 356 | ⟕ ρ name->supplier_name (supplier) |
| | 357 | ) |
| | 358 | ⋈ ρ name->warehouse_name (warehouse) |
| | 359 | ) |
| | 360 | ) |
| | 361 | }}} |
| | 362 | |