Guest User

Untitled

a guest
Nov 19th, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.30 KB | None | 0 0
  1. -- Taux d'acceptation
  2. -- Nombre de commandes acceptés / Nombre de commandes totales
  3. UPDATE shop_stats ss SET approval_rate = 100 * (
  4. SELECT (cast(
  5. -- sous requete : nombre de lignes de acceptées
  6. (SELECT count(ol.id)
  7. FROM order_line_status ols
  8. JOIN order_line ol ON ols.line_id = ol.id
  9. JOIN "order" o ON ol.order_id = o.id
  10. JOIN shop s ON ss.id = s.stats_id
  11. WHERE ols.order_state = 'WAITING_DEBIT' AND o.shop_id = s.id) as numeric(19,2))
  12. -- fin sous requete
  13. /
  14. -- sous requete : nombre de lignes de commandes total (significative)
  15. (SELECT count(ol.id) FROM order_line ol
  16. JOIN order_line_status ols
  17. ON ol.order_line_status_id = ols.id
  18. JOIN "order" o ON o.id = ol.order_id
  19. JOIN shop s ON ss.id = s.stats_id
  20. WHERE ols.order_state NOT IN ('CANCELED','STAGING') AND o.shop_id = s.id)
  21. )
  22. -- fin sous requete
  23. )
  24. WHERE ss.id IN (
  25. SELECT s.stats_id FROM "order" o
  26. JOIN order_status os ON o.id = os.id
  27. JOIN shop s on s.id = o.shop_id
  28. WHERE o.shop_id = ss.id);
Add Comment
Please, Sign In to add comment