试图求和一个合并的子查询

时间:2019-05-25 22:40:45

标签: sql-server

对于我的sql类,我正在尝试编写一个查询,该查询求和子查询中的一列。子查询中有一个计算值,我正在尝试总计特定邮政编码的计算值。 查询运行没有错误,但总和列中的输出为空

尝试单独运行子查询,并正确计算该列的值

select c.CustomerState
,c.CustomerZip
,sum (b.TotalSales)as Sales
from [DBM460LearningTeam].[dbo].[TBLcustomer]as c
Left Join (select v.CustomerNumber
    ,sum (v.QuantitySold * i.ItemPrice) as TotalSales
    from TBLinvoice as v
    inner join TBLitem as i
    on v.ItemNumber = right(i.ItemNumber,3) 
    group by v.CustomerNumber) as b
on c.CustomerNumber = b.CustomerNumber
group by c.CustomerZip , c.CustomerState;

我想按邮政编码对总销售额进行汇总,因此我希望看到zip列,state列和sales列,这就是我所得到的,但是sales列一直为Null。

1 个答案:

答案 0 :(得分:0)

您的客户编号并未加入。如果您在运行子查询时说您拥有TotalSales的值,那么我会验证该部分。我敢打赌,如果您将左连接更改为内部连接,您将一无所获。因此,您从TBLCustomer获取所有值,但在进行左连接时,customernumber上没有任何匹配项。