create_views.sql 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. -- View: kotov_aa.v_late_orders
  2. -- DROP VIEW kotov_aa.v_late_orders;
  3. CREATE OR REPLACE VIEW kotov_aa.v_late_orders
  4. AS
  5. SELECT o.orderid,
  6. c.companyname,
  7. v.brand,
  8. cg.name AS cargo_name,
  9. o.plandate,
  10. o.factdate,
  11. o.status,
  12. CASE
  13. WHEN o.factdate IS NULL AND o.plandate < CURRENT_DATE THEN 'Просрочен'::text
  14. WHEN o.factdate > o.plandate THEN ('Просрочен на '::text || (o.factdate - o.plandate)) || ' дн.'::text
  15. ELSE 'В срок'::text
  16. END AS result_check
  17. FROM orders o
  18. JOIN customers c ON o.customerid = c.customerid
  19. JOIN vehicles v ON o.vehicleid = v.vehicleid
  20. JOIN cargo cg ON o.cargoid = cg.cargoid
  21. WHERE o.factdate > o.plandate OR o.factdate IS NULL AND o.plandate < CURRENT_DATE
  22. ORDER BY o.plandate;
  23. ALTER TABLE kotov_aa.v_late_orders
  24. OWNER TO kotov_aa;
  25. -- View: kotov_aa.v_orders_full
  26. -- DROP VIEW kotov_aa.v_orders_full;
  27. CREATE OR REPLACE VIEW kotov_aa.v_orders_full
  28. AS
  29. SELECT o.orderid,
  30. c.companyname AS client,
  31. v.brand AS vehicle,
  32. cg.name AS cargo,
  33. o.orderdate,
  34. o.plandate,
  35. o.factdate,
  36. o.status
  37. FROM orders o
  38. JOIN customers c ON o.customerid = c.customerid
  39. JOIN vehicles v ON o.vehicleid = v.vehicleid
  40. JOIN cargo cg ON o.cargoid = cg.cargoid;
  41. ALTER TABLE kotov_aa.v_orders_full
  42. OWNER TO kotov_aa;