Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Taux d'acceptation
- -- Nombre de commandes acceptés / Nombre de commandes totales
- UPDATE shop_stats ss SET approval_rate = 100 * (
- SELECT (cast(
- -- sous requete : nombre de lignes de acceptées
- (SELECT count(ol.id)
- FROM order_line_status ols
- JOIN order_line ol ON ols.line_id = ol.id
- JOIN "order" o ON ol.order_id = o.id
- JOIN shop s ON ss.id = s.stats_id
- WHERE ols.order_state = 'WAITING_DEBIT' AND o.shop_id = s.id) as numeric(19,2))
- -- fin sous requete
- /
- -- sous requete : nombre de lignes de commandes total (significative)
- (SELECT count(ol.id) FROM order_line ol
- JOIN order_line_status ols
- ON ol.order_line_status_id = ols.id
- JOIN "order" o ON o.id = ol.order_id
- JOIN shop s ON ss.id = s.stats_id
- WHERE ols.order_state NOT IN ('CANCELED','STAGING') AND o.shop_id = s.id)
- )
- -- fin sous requete
- )
- WHERE ss.id IN (
- SELECT s.stats_id FROM "order" o
- JOIN order_status os ON o.id = os.id
- JOIN shop s on s.id = o.shop_id
- WHERE o.shop_id = ss.id);
Add Comment
Please, Sign In to add comment