【发布时间】:2017-07-01 02:26:53
【问题描述】:
【问题讨论】:
标签: sql sql-server oracle sql-server-2008 oracle10g
【问题讨论】:
标签: sql sql-server oracle sql-server-2008 oracle10g
您需要根据(rate * qty) 占交易总额的百分比分配折扣:
WITH transaction_totals AS (
SELECT h.header_id
,h.discount
,SUM(d.rate * d.ty) AS total
FROM header h
INNER JOIN detail d
ON h.header_id = d.header_id
GROUP BY h.header_id
,h.discount
)
SELECT d.item
,d.rate
,d.qty
,d.total
--,d.total / tt.total AS DetailPctTotal
,tt.discount * (d.total / tt.total) AS DetailDiscount
FROM detail d
INNER JOIN transaction_totals tt
ON d.header_id = tt.header_id
;
【讨论】: