Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL监控产品数量的增减_Sql_Sql Server - Fatal编程技术网

SQL监控产品数量的增减

SQL监控产品数量的增减,sql,sql-server,Sql,Sql Server,我正在用VB.net编写一个简单的应用程序,我被一条SQL语句卡住了。假设我有以下表格和一些示例数据 产品表带有属性,产品ID产品名称,类别ID,单价,现有数量 ProductId Name UnitPrice QTYonaHand 001 XYZ 3 25 。我想跟踪我拥有的物品数量的增减。这些是使产品现有数量增加或减少的一些交易 BillDetails表带有属性BillNo,Productid,数量,价格-表示从供应商处购买,并将增加数量 Bi

我正在用VB.net编写一个简单的应用程序,我被一条SQL语句卡住了。假设我有以下表格和一些示例数据

产品表带有
属性
产品ID
产品名称,
类别ID
单价
现有数量

ProductId  Name  UnitPrice  QTYonaHand
001        XYZ   3          25
。我想跟踪我拥有的物品数量的增减。这些是使产品现有数量增加或减少的一些交易

BillDetails表带有属性
BillNo
Productid
数量
价格
-表示从供应商处购买,并将增加数量

  BillNo   ProductId    Qty     Price
    01      001          36      3
InvoiceDetails表带有属性
InvoiceId
Productid
数量
价格
-表示对客户的销售,并将减少数量

 InvoiceNo     ProductId        Qty    Price
    10             001          6      4
    12             001          5      4.5
我的目标是编写一个返回表的SQL语句

产品详细信息

例如,产品XYZ

Type      Date         Ref     Qty        OnHand
Bill      4/15/2017    01      36         36
Invoice   4/16/2017    10      -6         30
Invoice   4/17/2017    12      -5         25

提前谢谢

这已经成功了

Select BILLDATE AS DATE, 'BILL' as Type, B.BILLno as Ref,  BD.QTY  as QTY from Bill B
inner join BILLDETAILS  BD
on 
 B.BILLno = BD.[BILLno]
 where BD.ProductId = 001

UNION ALL

Select [Invoice Date] AS DATE , 'Invoice' as Type, S.[invoice no] as Ref,  D.QTY * -1 as QTY from SALESINVOICE S 
inner join SalesInvoiceDetails  D
on 
 S.[Invoice No] = D.[Invoice NO]
 where d.ProductId = 001
 ORDER BY DATE ASC


但是我如何才能添加一个运行余额计算列

请显示I)输入表的样本数据,ii)您到目前为止尝试了什么。您如何知道账单和发票的日期?它们不在输入中,但在输出中。InvoiceDetails表与具有“InvoiceNo”、“InvoiceDate”、“CustomerId”等属性的发票表有关系。我将在那里获取InvoiceDate。同样,BillDetails表与BillsTable有关系,BillsTable具有“BillNo”、“BillDate”、“VendorId”等属性