以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助] SQL 条件错误 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=152803) |
-- 作者:susanhe -- 发布时间:2020/7/22 17:55:00 -- [求助] SQL 条件错误 老师,以下黄色的错了,帮忙指导一下,谢谢。 cmd.CommandText ="Se lect {t_Item}.FNumber,{t_Item}.FName,FShortName From ((({ICStockBillEntry} Inner JOIN {t_Item} ON {t_Item}.[FItemID] = {ICStockBillEntry}.[FItemID]) Inner JOIN {ICStockBill} ON {ICStockBill}.[FInterID] = {ICStockBillEntry}.[FInterID]) Left JOIN {POOrderEntry} ON {POOrderEntry}.[FInterID] = {ICStockBillEntry}.[FOrderInterID] And {POOrderEntry}.[FEntryID] = {ICStockBillEntry}.[FOrderEntryID]) Inner JOIN {t_Supplier} ON {t_Supplier}.[FItemID] = {ICStockBill}.[FSupplyID] Where {ICStockBill}.[FBillNo] like \'%WIN%\'and {ICStockBillEntry}.[FQty] > 0 and {ICStockBill}.[FDate] < = \'" & e.Form.Controls("Datetimepicker1").Value & "\' And {ICStockBill}.[FDate] > = \'" & e.Form.Controls("Datetimepicker2").Value & "\' Group By {t_Item}.FNumber,{t_Item}.FName,FShortName" |
-- 作者:linyunu1 -- 发布时间:2020/7/22 18:31:00 -- 提示什么错误 |
-- 作者:susanhe -- 发布时间:2020/7/22 18:53:00 -- 结果没有出来,错误信息也没有。 |
-- 作者:有点蓝 -- 发布时间:2020/7/22 20:26:00 -- 不加上黄色代码就可以?说明没有符合条件的数据 |
-- 作者:susanhe -- 发布时间:2020/7/23 7:25:00 -- 对的,不加黄色的话全部出来了。但是这个时间期是有记录的,是不是日期格式不对 ? |
-- 作者:有点蓝 -- 发布时间:2020/7/23 8:40:00 -- 日期列值有时分秒? |
-- 作者:susanhe -- 发布时间:2020/7/24 12:30:00 -- 老师,找到原因了。这个 大于和小于弄反了。改过来就好了。 还有个问题,我要统计这其中每个产品的总量,可是不对。麻烦一下。 Dim val As Integer Dim cmdz As New SQLCommand cmdz.Co nnecti cmdz.CommandText = "Sel ect {t_Item}.FNumber,{t_Item}.FName,FShortName,Sum({ICStockBillEntry}.[FQty]) From ((({ICStockBillEntry} Inner JOIN {t_Item} ON {t_Item}.[FItemID] = {ICStockBillEntry}.[FItemID]) Inner JOIN {ICStockBill} ON {ICStockBill}.[FInterID] = {ICStockBillEntry}.[FInterID]) Left JOIN {POOrderEntry} ON {POOrderEntry}.[FInterID] = {ICStockBillEntry}.[FOrderInterID] And {POOrderEntry}.[FEntryID] = {ICStockBillEntry}.[FOrderEntryID]) Inner JOIN {t_Supplier} ON {t_Supplier}.[FItemID] = {ICStockBill}.[FSupplyID] Where {ICStockBill}.[FBillNo] like \'%WIN%\'and {ICStockBillEntry}.[FQty] > 0 and {ICStockBill}.[FDate] > = \'" & e.Form.Controls("Datetimepicker1").Value & "\' And {ICStockBill}.[FDate] < = \'" & e.Form.Controls("Datetimepicker2").Value & "\'" val = cmdz.ExecuteScalar() For Each rr As Row In Tables("PPV").Rows rr("数量总计") =sum(val("FQty")) Next
|
-- 作者:有点蓝 -- 发布时间:2020/7/24 13:34:00 -- Tables("PPV")这个表的数据和这段sql有什么关系?截图看看 |
-- 作者:susanhe -- 发布时间:2020/7/24 14:35:00 -- 老师,前面还有这段,谢谢了。 Dim cmd As New SQLCommand Dim dt As DataTable DataTables("PPV").datarows.clear cmd.C \'外购入库单 Dim Cols111() As String = {"FNumber","FName","FShortName"} Dim Cols222() As String = {"GSSPartNo","PartDesc","Supplier"} cmd.CommandText ="Sel ect {t_Item}.FNumber,{t_Item}.FName,FShortName From ((({ICStockBillEntry} Inner JOIN {t_Item} ON {t_Item}.[FItemID] = {ICStockBillEntry}.[FItemID]) Inner JOIN {ICStockBill} ON {ICStockBill}.[FInterID] = {ICStockBillEntry}.[FInterID]) Left JOIN {POOrderEntry} ON {POOrderEntry}.[FInterID] = {ICStockBillEntry}.[FOrderInterID] And {POOrderEntry}.[FEntryID] = {ICStockBillEntry}.[FOrderEntryID]) Inner JOIN {t_Supplier} ON {t_Supplier}.[FItemID] = {ICStockBill}.[FSupplyID] Where {ICStockBill}.[FBillNo] like \'%WIN%\'and {ICStockBillEntry}.[FQty] > 0 and {ICStockBill}.[FDate] > = \'" & e.Form.Controls("Datetimepicker1").Value & "\' And {ICStockBill}.[FDate] < = \'" & e.Form.Controls("Datetimepicker2").Value & "\' Group By {t_Item}.FNumber,{t_Item}.FName,FShortName" dt = cmd.ExecuteReader() For Each dr1 As DataRow In dt.DataRows Dim dr2 As DataRow = DataTables("PPV").AddNew() For i As Integer = 0 To Cols111.Length -1 dr2(Cols222(i)) = dr1(Cols111(i)) Next Next Tables("PPV").ResumeRedraw()
|
-- 作者:有点蓝 -- 发布时间:2020/7/24 14:44:00 -- 为什么不在一条SQL里直接分组统计 ?而要分开2次处理? Dim Cols111() As String = {"FNumber","FName","FShortName"}
Dim Cols222() As String = {"GSSPartNo","PartDesc","Supplier"} cmd.CommandText ="Sel ect {t_Item}.FNumber,{t_Item}.FName,FShortName,Sum({ICStockBillEntry}.[FQty]) as FQty From ((({ICStockBillEntry} Inner JOIN {t_Item} ON { |