SQL向查询中添加其他列
我正在尝试创建一个查询,允许我查看所有客户订单,并使用sql添加一个额外的列,以查看客户欠款总额 以下代码检索正确的数据:SQL向查询中添加其他列,sql,sql-server,sql-server-2008,tsql,Sql,Sql Server,Sql Server 2008,Tsql,我正在尝试创建一个查询,允许我查看所有客户订单,并使用sql添加一个额外的列,以查看客户欠款总额 以下代码检索正确的数据: SELECT cu.FName + ' ' + cu.SName as 'Name', cu.Address1 + ', ' + cu.Address2 + ', ' + cu.Address3 as 'Dispatch Address', cu.PostCode, co.DateOrdered, co.DateDispatched,
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 |
试试这个:
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' ,
(it.Quantity * ma.Price) 'Owe amount'
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
尝试添加数量。在合计为(it.Quantity*ma.Price)作为“金额”后,如果这两个字段不在同一数据类型中,则使用casting您可以创建一个具有工作数据模型的吗?使用每个表中的数据会更容易。您好,谢谢您的帖子,我是否可以将第1行和第2行一起添加?这是我被赋予的任务。。。“创建一个查询,显示哪些客户订购了哪些商品,以及每个客户下订单的总价值”@Annoscia-你是什么意思?你能用一些样本数据编辑你的问题吗?嗨,谢谢你的帖子,我能把第一行和第二行加在一起吗?这是我被赋予的任务。。。“创建一个查询,显示哪些客户订购了哪些项目以及每个客户下订单的总价值customer@Annoscia此查询的结果与期望的结果有何不同?
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',
sum(it.Quantity * ma.Price) over (partition by cu.CustomerID) as TotalOwed
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