栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何计算SQL Server的期初和期末数量余额

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何计算SQL Server的期初和期末数量余额

我将至少假设使用SQL Server2005。将来,请使用您需要支持的最低版本指定/标记问题。

CREATE TABLE #x(    TransactionDate SMALLDATETIME,    Item CHAr(1), RecQty INT, IssueQty INT);INSERT #x SELECt '20110601','A',10,0UNIOn ALL SELECT '20110602','A',15,0UNIOn ALL SELECT '20110603','A',20,0UNIOn ALL SELECT '20110604','A',0,20UNIOn ALL SELECT '20110604','A',0,20;DECLARE @StartDate SMALLDATETIME = '20110601',         @Date      SMALLDATETIME = '20110602';WITH x(Item, prevR, prevI, curR, curI) AS(    SELECT         Item,        SUM(CASE WHEN TransactionDate < @Date THEN RecQty ELSE 0 END),        SUM(CASE WHEN TransactionDate < @Date THEN IssueQty ELSE 0 END),        SUM(CASE WHEN TransactionDate = @Date THEN RecQty ELSE 0 END),        SUM(CASE WHEN TransactionDate = @Date THEN IssueQty ELSE 0 END)    FROM #x WHERe TransactionDate BETWEEN @StartDate AND @Date    GROUP BY Item)SELECt     Item,    Opening = prevR - prevI,    RecQty = curR,    IssueQty = curI,    BalanceQty = (prevR - prevI) + (curR - curI)FROM x;DROP TABLE #x;


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/410853.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号