我有两张表,Table A
分别是:
订单号 | 费用类型 | 数量 |
---|---|---|
1 | 船运 | -10 |
1 | 基准价格 | 100 |
1 | 委员会 | -5 |
1 | 折扣 | -20 |
2 | 委员会 | -10 |
2 | 折扣 | -10 |
2 | 船运 | -20 |
2 | 基准价格 | 150 |
和Table B
:
订单号 | 顾客 | 物品 |
---|---|---|
1 | 约翰 | 啤酒 |
1 | 约翰 | 苏打 |
2 | 玛丽 | 蛋糕 |
2 | 玛丽 | 咖啡 |
2 | 玛丽 | 馅饼 |
我需要一个查询来生成包含以下列的表:
Order No
- 独特的Total Amount
- 表 A 中分配给特定订单的所有金额的总和Customer Name
- 来自表 B 的客户名称Base Amount
- 表 A 中“金额”与“费用类型”为“baseprice”
到目前为止,我已经设法使用以下查询生成第 1 至 3 列:
SELECT
c.customer, a.orderNo, Sum(a.amount) AS [total]
FROM
a
INNER JOIN
(SELECT DISTINCT orderNo, customer
FROM table b) AS c ON a.orderNo = c.orderNo
GROUP BY
c.customer, a.orderNo;
但我需要的是下表
订单号 | 顾客 | 基准价格 | 全部的 |
---|---|---|---|
1 | 约翰 | 100 | 65 |
2 | 玛丽 | 150 | 110 |