【问题标题】:SQL inner sub query calculation help needed需要 SQL 内子查询计算帮助
【发布时间】:2015-08-01 15:04:02
【问题描述】:

我想从 totalammount 计算余额运行时间 - AmmountReceived = Balance next row ..

Totalammont(实际上将是以前的运行时计算的余额应该在这里) - AmmountReceived = Balance 等等......

这是我的查询,它不会减少 totalAmmount

select ID,
       RecvDate,
       BillNo,
       ModeofPayment,
       (Select Item_name from Product where ID = CampusRecovery.ItemID) as Item,
       SUM(AmountReceived) as AmountReceived,
       (Select CampusName from Campus where CampusID = CampusRecovery.CampusID) as Campus,
       IsNull((select SUM(Inventory_Out.TotalAmount)
               from Inventory_Out
               where Inventory_Out.BillNo = CampusRecovery.BillNo),0) as TotalAmmount,
       IsNull((select SUM(Inventory_Out.TotalAmount)
               from Inventory_Out
               where Inventory_Out.BillNo = CampusRecovery.BillNo),0) - SUM(AmountReceived) as Balance
from CampusRecovery 
where RecvDate Between @startdt and @enddt
  and CampusID = 2
Group By CampusRecovery.CampusID,
         CampusRecovery.ItemID,
         CampusRecovery.RecvDate,
         CampusRecovery.BillNo,
         CampusRecovery.ModeofPayment,
         CampusRecovery.ID

【问题讨论】:

  • 您能否在表定义中添加一些示例数据和预期输出?会让弄清楚这一点变得容易得多
  • 包括样本数据和您的预期输出。根据您的描述,您需要窗口函数。
  • @JeremyC。请查看我更新的帖子,我插入了解释问题的图片
  • @VladimirOselsky 请查看我更新的帖子,我已插入解释问题的图片
  • 所以最后一行的 Totalamount 应该是 240 和 balence 40?在这种情况下,您没有给我们正确的语句,因为我们需要您的插入语句

标签: join subquery correlated-subquery inner-query


【解决方案1】:
select cr.BillNum, cr.DelievryDate,cr.AmmountReceived,(select TotalAmmount from InventoryOut where InventoryOut.BillNum = cr.BillNum) as TotalBill,
(select TotalAmmount -
(select Sum(AmmountReceived) from CampusRecovery ch where ch.BillNum = io.BillNum )
 from InventoryOut io where io.BillNum = cr.BillNum )--- sum(cr.AmmountReceived)
as Balance
from CampusRecovery  cr where CampusID = 1
group by 
cr.BillNum,
cr.DelievryDate,
cr.BillNum,
cr.AmmountReceived

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-04
    • 2016-07-26
    相关资源
    最近更新 更多