28 lines
530 B
SQL
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
|
|
/
|
|
|