视图显示库存余量

实现效果:

CREATE VIEW  [dbo].[v_Show_StockInOrderItem]

AS

WITH cte_detail AS

(

--已入库数量

SELECT s.ProductID,s.ColorsID,s.SizesID,s.Title,s.ColorsName,s.SizesName,s.Quantity AS qty

FROM TheBeerHouse.StockInItems s

LEFT JOIN TheBeerHouse.StockIn si ON si.StockInID = s.StockInID

WHERE si.Status=‘Audited‘     --已审核的标志,

--TheBeerHouse.StockIn相当于是一个订单,谁什么时间入库

--TheBeerHouse.StockInItems 与订单表相关联,详细这个订单入库的哪个产品,数量,颜色,尺码等

UNION ALL

--已出库数量

SELECT o.ProductID AS oProductID,o.ColorsID AS oColorsID,o.SizesID AS oSizesID,o.Title AS otitle,

o.ColorsName AS oColorsName,o.SizesName AS oSizesName,-o.Quantity AS qty

FROM TheBeerHouse.OrderItems o

LEFT JOIN TheBeerHouse.Orders oo ON oo.OrderID = o.OrderID

WHERE oo.ShippingStatus = ‘ApplyShipped‘       --已出库的标志

--TheBeerHouse.Orders 出库订单,谁什么时间出库

--TheBeerHouse.OrderItems 与订单表相关联,详细这个订单出库的哪个产品,数量,颜色,尺码等

)

--把上边的结果都结合起来

,cte_qty AS

(

SELECT ProductID,SUM(qty) AS qty,Title,SizesID,SizesName,ColorsID,ColorsName      --qty为入库量-出库量也就是库存余量

FROM cte_detail

WHERE ProductID=ProductID AND ColorsID=ColorsID AND SizesID=SizesID

GROUP BY ProductID,Title,SizesID,SizesName,ColorsID,ColorsName

)

SELECT   ROW_NUMBER()  OVER(ORDER BY T.ProductID) AS ‘数据标识‘

,产品标识 = T.ProductID

,ROW_NUMBER()  OVER(ORDER BY t.ProductID) AS ‘序号‘

,产品编号 = T.ProductID

,产品名称 = T.Title

,颜色=T.ColorsName

,尺码=T.SizesName

,入库总量=(SELECT ISNULL(SUM(s.Quantity),0)

FROM TheBeerHouse.StockInItems s

LEFT JOIN TheBeerHouse.StockIn si ON si.StockInID = s.StockInID

WHERE si.Status=‘Audited‘ AND s.ProductID=T.ProductID AND s.SizesID=T.SizesID AND s.ColorsID=T.ColorsID)

,销售总量=(SELECT ISNULL(SUM(o.Quantity),0)

FROM TheBeerHouse.OrderItems o

LEFT JOIN TheBeerHouse.Orders oo ON oo.OrderID = o.OrderID

WHERE oo.ShippingStatus = ‘ApplyShipped‘ AND o.ProductID=T.ProductID AND o.SizesID=T.SizesID AND o.ColorsID=T.ColorsID)

,库存数量 = ISNULL(T.qty,0)

FROM

cte_qty AS T

GO

视图显示库存余量,布布扣,bubuko.com

时间: 2024-10-22 03:52:25

视图显示库存余量的相关文章

《连载 | 物联网框架ServerSuperIO教程》- 13.自定义视图显示接口开发,满足不同的显示需求

1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架ServerSuperIO教程>2.服务实例的配置参数说明 <连载 | 物联网框架ServerSuperIO教程>- 3.设备驱动介绍 <连载 | 物联网框架ServerSuperIO教程>-4.如开发一套设备驱动,同时支持串口和网络通讯. <连载 | 物联网框架ServerSupe

修复Windows XP服务扩展视图显示空白

在服务管理控制台(Services.msc)扩展视图显示服务的描述,也有启动或停止服务的链接.在某些系统中,扩展视图可能出现一片空白,如图所示: 这是因为没有注册 JScript.dll文件,要解决此问题只需在开始-运行中输入: regsvr32 jscript.dll

用宏定义成员函数,VC6的类视图显示错误

用宏定义成员函数,VC6的类视图显示错误,实际函数可以使用. VC7没此问题. #define ConstGetMemFunMac2(varName,funName,retType)\ retType funName()const{return varName;}; class A { public: ConstGetMemFunMac2(m_x,GetX,int); int m_x; };

MVC中如何将后台封装好的Web控件发到前台视图显示

最近在用MVC开发的时候,师姐说所有用到的控件都要写在后台,然后从后台发到前台,这样就改变了以前把页面做死了的缺点.但是在实现的时候,遇到了点儿问题,如图: 上面代码写了一个LinkButton,当调用这个静态方法后,会生成一个LinkButton的HTML代码,这个是比较简单的元件,如果,现在我要拼接一个功能齐全的DataGridView控件,要这个控件有分页栏,各种添加删除功能,CSS样式,为了复用我们的EasyUI元件库,估计这个HTML代码也得有半页多吧.如果我要在每次遇到参数的时候都要

Oracle v$session视图显示客户端IP地址

在Oracle数据库中,我们使用session相关视图(v$session.v$active_session_history,dba_hist_active_session_history等)查找问题时,往往可以定位到相应的主机名,但是,想要更进一步查找IP地址时,却发现各个数据字典表里面都没有记录IP.而开发人员和领导往往更关注IP地址,那么,如何让Oracle数据库显示IP呢? 可以创建系统触发器来捕获IP地址,系统触发器如下: -- 使用sys执行 create or replace tr

使用WebView视图显示网页-----迷你浏览器

Android提供了WebView组件,表面上来看,这个组件与普通ImageView差不多,但实际上,这个组件的功能要强大得多,WebView组件本身就是一个浏览器实现,它的内核基于开源WebKit引擎.如果我们对WebView进行一些美化.包装,可以非常轻松地开发出自己的浏览器. WebView的用法与普通ImageView组件的用法基本相似,它提供了大量方法来执行浏览器操作: 1.void  goBack():后退. 2.void  goForward():前进. 3.void  loadU

ECShop商品详细页 实现尺码颜色关联显示库存数量

效果如下: 要开模板文件 goods.dwt  把选择尺码跟颜色的代码替换成如下,(不同模板代码可能不一样,对照去替换) <!-- {foreach from=$spec.values item=value key=key} --> <a {if $key eq 0}class="cattsel"{/if} onclick="changeAtt(this,{$value.id},{$goods.goods_id})" href="java

Oracle创建视图显示无权限

问题:使用scott登录Oracle以后,创建视图,提示"权限不够",怎么解决? 回答: 这是因为scott这个帐户目前没有创建视图的权限.解决方法为: 首先使用system帐户进行登录,其中"tigertiger"为安装Oracle时所指定的密码(可修改): sqlplus system/tigertiger 然后执行: grant create any view to scott 提示:授权成功. 执行: exit 退出当前system帐户. 再使用sqlplu

c#运用TreeView控件的树形视图显示数据库中数据

TreeView控件显示数据库,Nodes集合的Add方法. Treeview控件的Nodes集合包含多个子节点,节点也可以包含另外的节点.通过节点的backcolor属性设置背景色. 具体代码测试: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System