表里是每日销售记录,有主键(ID)、共5销售员编号(saleman)、交易状态(statue)(订购(order)、取消订购(cancel)、退货(claim)、退货取消(claim_cancel))金额(amt)以及件数(qty)
现在想求出其中三个个销售员的有效(订购-取消订购-退货+退货取消)销售金额和件数。
销售记录表:(交易状态:订购(order)-01、取消订购(cancel)-02、退货(claim)-03、退货取消(claim_cancel)-04),(saleman数字为销售员编号)
ID 交易状态 SALEman 订购数量 订购金额 取消数量 取消金额 出库数量 出库金额 退货数量 退货金额 退货取消数量 退货取消金额
0 01 2 1 248.00 0 0.00 0 0.00 0 0.00 0 0.00
1 01 1 2 328.00 0 0.00 0 0.00 0 0.00 0 0.00
2 01 2 1 278.00 0 0.00 0 0.00 0 0.00 0 0.00
3 02 3 0 0.00 1 298.00 0 0.00 0 0.00 0 0.00
4 02 1 0 0.00 1 298.00 0 0.00 0 0.00 0 0.00
5 02 1 0 0.00 2 896.00 0 0.00 0 0.00 0 0.00
6 03 2 0 0.00 0 0.00 0 0.00 3 298.00 0 0.00
7 03 5 0 0.00 0 0.00 0 0.00 1 318.00 0 0.00
8 03 3 0 0.00 0 0.00 0 0.00 4 248.00 0 0.00
9 04 4 0 0.00 0 0.00 0 0.00 0 0.00 3 480.00
我想一步达到其中三个销售员的有效销售业绩,表如下:
销售员1金额 销售员1件数 销售员2金额 销售员2件数 销售员3金额 销售员3件数
21332 23 124241 13 1342432 123
select sum(decode(saleman, 1, decode("交易状态", '01', "订购金额", '02', -"取消金额", '03', -"退货金额", '04' ,"退货金额"))) "销售员1金额",
sum(decode(saleman, 1, decode("交易状态", '01', "订购数量", '02', -"取消数量", '03', -"退货数量", '04' ,"退货数量"))) "销售员1件数",
sum(decode(saleman, 2, decode("交易状态", '01', "订购金额", '02', -"取消金额", '03', -"退货金额", '04' ,"退货金额"))) "销售员2金额",
sum(decode(saleman, 2, decode("交易状态", '01', "订购数量", '02', -"取消数量", '03', -"退货数量", '04' ,"退货数量"))) "销售员2件数",
sum(decode(saleman, 3, decode("交易状态", '01', "订购金额", '02', -"取消金额", '03', -"退货金额", '04' ,"退货金额"))) "销售员3金额",
sum(decode(saleman, 3, decode("交易状态", '01', "订购数量", '02', -"取消数量", '03', -"退货数量", '04' ,"退货数量"))) "销售员3件数"
from sales_details;