【发布时间】:2012-11-07 20:35:58
【问题描述】:
我正在尝试创建一个查询,让我可以查看所有客户的订单,并使用 sql 添加一个额外的列来查看客户欠款的总额。
以下代码检索正确的数据:
SELECT
cu.FName + ' ' + cu.SName as 'Name',
cu.Address1 + ', ' + cu.Address2 + ', ' + cu.Address3 as 'Dispatch Address',
cu.PostCode,
co.DateOrdered, co.DateDispatched,
ma.MaterialName,
it.Quantity,
ma.Price as 'Total'
FROM
Customers cu
LEFT JOIN
CustomerOrder co ON co.CustomerID = cu.CustomerID
LEFT JOIN
ItemOrder it ON it.OrderID = co.OrderID
LEFT JOIN
Materials ma ON ma.MaterialID = it.MaterialID
我现在需要在上面添加额外的代码来添加一列来显示客户欠款的总金额,但是我卡住了,有人可以帮忙吗?
Date Order | Dispatch Date | Item | QTY | Price | TOTAL AMOUNT FOR BOTH ROWS
2012-10-30 | 2012-11-25 | Bath | 1 | 49.99 |
2012-10-30 | 2012-11-25 | Sink | 1 | 55.99 |
【问题讨论】:
-
尝试添加数量。如果这两个字段不在同一数据类型中,则在总计为 (it.Quantity * ma.Price) 为“金额”之后使用强制转换
-
你能用一个工作数据模型创建一个sql fiddle吗?处理每个表中的数据会更容易。
标签: sql sql-server sql-server-2008 tsql