Changes between Version 2 and Version 3 of AdvancedReports


Ignore:
Timestamp:
01/21/22 16:05:32 (3 years ago)
Author:
193230
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdvancedReports

    v2 v3  
    11= Напредни извештаи од базата (SQL и складирани процедури)
    22
    3 == Извештај за секоја продавница, бројот на производи во неа, вкупната вредност на производите, просечна цена по производ и вкупно направени нарачки во последните 3 месеци
     3== Извештаи за клиент според тромесечие, купени производи и потрошена сума
    44
    55{{{#!sql
     6
     7create view podatoci_klienti as
     8
     9SELECT DISTINCT u.user_name, u.surname,
     10CASE WHEN tabela.quarter=1 THEN tabela.kupeni_proizvodi ELSE 0 END AS prv_kvartal,
     11CASE WHEN tabela.quarter=2 THEN tabela.kupeni_proizvodi ELSE 0 END AS vtor_kvartal,
     12CASE WHEN tabela.quarter=3 THEN tabela.kupeni_proizvodi ELSE 0 END AS tret_kvartal,
     13CASE WHEN tabela.quarter=4 THEN tabela.kupeni_proizvodi ELSE 0 END AS cetvrt_kvartal,
     14
     15CASE WHEN tabela.quarter=1 THEN tabela.suma ELSE 0 END AS prv_kvartal_suma,
     16CASE WHEN tabela.quarter=1 THEN tabela.suma ELSE 0 END AS vtor_kvartal_suma,
     17CASE WHEN tabela.quarter=1 THEN tabela.suma ELSE 0 END AS tret_kvartal_suma,
     18CASE WHEN tabela.quarter=1 THEN tabela.suma ELSE 0 END AS cetvrt_kvartal_suma
     19
     20FROM shopping_bag AS sb
     21JOIN client AS c ON sb.user_id = c.user_id
     22JOIN users AS u ON c.user_id = u.user_id
     23JOIN orders AS o ON sb.shopping_id = o.shopping_id
     24JOIN product_in_store AS pis ON o.product_in_store_id = pis.product_in_store_id
     25JOIN price AS pr ON pis.product_in_store_id = pr.product_in_store_id
     26JOIN (
     27
     28SELECT DISTINCT c2.user_id, extract(quarter FROM sb2.order_date) AS quarter, sum(pr.price) AS suma,
     29count(sb2.shopping_id) AS kupeni_proizvodi
     30FROM shopping_bag AS sb2
     31JOIN orders AS o ON sb2.shopping_id = o.shopping_id
     32JOIN product_in_store AS pis ON o.product_in_store_id = pis.product_in_store_id
     33join price as pr on pis.product_in_store_id=pr.product_in_store_id
     34JOIN client AS c2 ON c2.user_id = sb2.user_id
     35GROUP BY 1,2
     36) AS tabela ON c.user_id = tabela.user_id
     37        }}}
     38
     39== Извештаи за секоја продавница, бројот на производи во неа, вкупната вредност на производите, просечна цена по производ и вкупно направени нарачки во последните 3 месеци
     40
     41{{{#!sql
     42
     43create view podatoci_prodavnici as
     44
    645select os.names, os.store_id,
    746coalesce((
     
    70109where extract(year from now()) - extract(year from wa.works_from) >= 6
    71110}}}
     111
     112== Листање на сите продукти според достапност, каталог и продавница, и прикажување на продукт со најниска цена
     113{{{#!sql
     114create view produkti_cena as
     115
     116select p.names, p.in_store, pis.product_in_store_id, c.catalogue_id, c.type_, os.web_address, pr.price
     117from product as p
     118join product_in_store as pis on p.product_id=pis.product_id
     119join existss as e on pis.product_in_store_id=e.product_in_store_id
     120join catalogue as c on e.catalogue_id=c.catalogue_id
     121join online_stores as os on e.store_id=os.store_id
     122join price as pr on pis.product_in_store_id=pr.product_in_store_id
     123
     124group by 1, 2, 3, 4, 5, 6, 7;
     125
     126select pc.names, pc.in_store, pc.product_in_store_id, pc.catalogue_id, pc.type_, pc.web_address, pc.price as najniska_cena
     127from produkti_cena as pc
     128where pc.price = (select min(price) from produkti_cena)create view produkti_cena as
     129}}}
     130
     131