-- 作者:Springamy
-- 发布时间:2017/7/18 16:35:00
-- sql union 合并问题
问题如图: 出库的数据没有减掉,而是合并进去了,多了4条数据,请问减去出库那句代码哪里错了?
select 入库日期,采购合同号,产品线,库存类型,仓库属性,BOM编码,产品型号,仓库地点,条码,s um(数量) as 条码数量 f rom 期初表 where qci d = 5 gro up by _Identify,qcid,入库日期,采购合同号,产品线,库存类型,仓库属性,BOM编码,产品型号,仓库地点,条码 un ion all select 入库日期,采购合同号,产品线,库存类型,仓库属性,BOM编码,产品型号,仓库地点,条码,su m(数量) as 条码数量 f rom (select * fr om 入库条码明细) as a le ft join 入库表 on a.rkid = 入库表._identify where 入库日期 >\'3/31/2017\'and 入库日期<=\'6/30/2017\' group by 入库日期,采购合同号,产品线,库存类型,仓库属性,BOM编码,产品型号,仓库地点,条码 uni on all select 出库日期,采购合同号,产品线,库存类型,仓库属性,BOM编码,产品型号,仓库地点,条码,-数量 fr om (select * f rom 出库条码明细) as a le ft joi n 出库表 on a.ckid = 出库表._identify where 出库日期 <=\'6/30/2017\'And 出库日期 > \'6/01/2017\'
此主题相关图片如下:1.png
|
-- 作者:Springamy
-- 发布时间:2017/7/18 18:14:00
-- 谢谢,已经弄好了,还出现了另一个问题
报错,布尔类型跟日期 中间有个 <= ,可是我没有找到阿
Else \' H > 0 不是第一个期初表 If dt2.DataRows.Count > 0 Then \'期初表有数据 Dim y As Integer = h - 1 Dim dr As DataRow = dt.DataRows(h) \'当前期初表期初表 Dim dr2 As DataRow = dt.DataRows(y) \'当前期初表的上一个期初表 Dim d As Date Do While dr2("期初日期") < d <= qc \'d在上个期初日期和当前期初日期之间,以d为条件查找入库出库数据,计算当前期初表 s = "select * fr om (select 入库日期,采购合同号,产品线,库存类型,仓库属性,BOM编码,产品型号,仓库地点,条码, s um(条码数量) as 库存 fr om (select 入库日期,采购合同号,产品线,库存类型,仓库属性,BOM编码,产品型号,仓库地点,条码,su m(数量) as 条码数量 fr om 期初表 where qcid = " & dr2("_Identify") & "group by _Identify,qcid,入库日期,采购合同号,产品线,库存类型,仓库属性,BOM编码,产品型号,仓库地点,条码 uni on all Select 入库日期,采购合同号,产品线,库存类型,仓库属性,BOM编码,产品型号,仓库地点,条码,su m(数量) As 条码数量 f rom (Select * fr om 入库条码明细) As a left join 入库表 on a.rkid = 入库表._identify where 入库日期 >\'" & dr2("期初日期") & "\'and 入库日期 <=\'" & qc & "\' group by 入库日期,采购合同号,产品线,库存类型,仓库属性,BOM编码,产品型号,仓库地点,条码 uni on all Select 入库日期,采购合同号,产品线,库存类型,仓库属性,BOM编码,产品型号,仓库地点,条码,-数量 fr om (Select * fro m 出库条码明细) As a le ft join 出库表 on a.ckid = 出库表._identify where 出库日期 <=\'" & qc & "\'And 出库日期 > \'" & dr2("期初日期") & "\') As c group by 入库日期,采购合同号,产品线,库存类型,仓库属性,BOM编码,产品型号,仓库地点,条码) As e where 库存 > 0" cmd.CommandText = s Dim dt3 As DataTable = cmd.ExecuteReader If dt3.DataRows.Count > 0 Then For n As Integer = 0 To dt3.DataRows.Count - 1 Dim dr3 As DataRow = dt3.DataRows(n) s = "in sert in to 期初表(qcid,仓库地点,产品线,库存类型,仓库属性,条码,BOM编码,产品型号,数量,采购合同号,入库日期) values (" & dr("_Identify") & ",\'" & dr3("仓库地点") & "\',\'" & dr3("产品线") & "\',\'" & dr3("库存类型") & "\',\'" & dr3("仓库属性") & "\',\'" & dr3("条码") & "\',\'" & dr3("BOM编码") & "\',\'" & dr3("产品型号") & "\'," & dr3("数量") & ",\'" & dr3("采购合同号") & "\',\'" & dr3("入库日期") & "\' )" Next End If Loop End If End If
此主题相关图片如下:1.png
|