Oracle_scripte/Tanel/ppx/avg_order_item_price.sql
2014-09-17 13:23:48 +02:00

28 lines
530 B
SQL

SELECT /*+ leading(o,c,oi) parallel(2) pq_distribute(c hash,hash) */
c.customer_id
, c.cust_first_name
, c.cust_last_name
, c.credit_limit
, o.order_mode
, avg(oi.unit_price)
FROM
customers c
, orders o
, order_items oi
WHERE
-- join
c.customer_id = o.customer_id
AND o.order_id = oi.order_id
-- filter
AND o.order_mode = 'direct'
GROUP BY
c.customer_id
, c.cust_first_name
, c.cust_last_name
, c.credit_limit
, o.order_mode
HAVING
sum(oi.unit_price) > c.credit_limit * 1000
/