以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  这个查询一条数据,经过测试需要0.36秒左右,1000条的时候,直接程序未响应。  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=161356)

--  作者:zaq3574020
--  发布时间:2021/3/14 22:18:00
--  这个查询一条数据,经过测试需要0.36秒左右,1000条的时候,直接程序未响应。

已解决

[此贴子已经被作者于2021/3/15 8:44:50编辑过]

--  作者:zaq3574020
--  发布时间:2021/3/14 22:20:00
--  
原来是放在一个FOR循环,查询的效率是一样的。
一条数据需要0.36秒
现在是就大概1000多条,程序就直接未响应了,等很久都没反应。有没有其他的写法完成这个查询逻辑
[此贴子已经被作者于2021/3/14 22:19:58编辑过]

--  作者:有点蓝
--  发布时间:2021/3/14 22:24:00
--  
使用文字描述一下想要做什么功能?
--  作者:zaq3574020
--  发布时间:2021/3/14 22:32:00
--  
根据款号,仓库,出库单明细里面找出 第一次入库的时候,和最后一次入库的时间,以及第一次销售的时间
出库单明细的总数据大概在40W条
销售明细在20W

--  作者:zaq3574020
--  发布时间:2021/3/14 22:45:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:as.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2021/3/14 23:01:00
--  
Tables("门店进销存_门店进销存")是一个临时表?数据从哪来的?

根据款号,仓库,出库单明细里面找出 第一次入库的时候,和最后一次入库的时间,以及第一次销售的时间  --  这些列分别在哪些表,这些表通过什么列关联?

请导出这些表部分数据测试

--  作者:zaq3574020
--  发布时间:2021/3/14 23:04:00
--  

已解决

[此贴子已经被作者于2021/3/15 8:45:02编辑过]

--  作者:zaq3574020
--  发布时间:2021/3/14 23:05:00
--  
If mx.Checked Then
    Dim bd1 As New GroupTableBuilder("直调出库",SqlZdckd,"EFSG")
    Dim dt1 As fxDataSource
    bd1.Groups.AddDef("款号") \'根据型号分组
    bd1.Groups.AddDef("花色")
    bd1.Groups.AddDef("尺码")
    bd1.Groups.AddDef("仓库")
    bd1.Groups.AddDef("品类")
    bd1.Groups.AddDef("品名")
    bd1.Groups.AddDef("吊牌价")
    bd1.Totals.AddDef("数量","直调出库单_数量")
    dt1 = bd1.BuildDataSource()
    
    Dim bd2 As New GroupTableBuilder("直调入库",SqlZdrkd,"EFSG")
    Dim dt2 As fxDataSource
    bd2.Groups.AddDef("款号") \'根据型号分组
    bd2.Groups.AddDef("花色")
    bd2.Groups.AddDef("尺码")
    bd2.Groups.AddDef("仓库")
    bd2.Groups.AddDef("品类")
    bd2.Groups.AddDef("品名")
    bd2.Groups.AddDef("吊牌价")
    bd2.Totals.AddDef("数量","直调入库单_数量")
    dt2 = bd2.BuildDataSource()
    
    Dim bd3 As New GroupTableBuilder("采购收货",SqlCgshd,"EFSG")
    Dim dt3 As fxDataSource
    bd3.Groups.AddDef("款号") \'根据型号分组
    bd3.Groups.AddDef("花色")
    bd3.Groups.AddDef("尺码")
    bd3.Groups.AddDef("仓库")
    bd3.Groups.AddDef("品类")
    bd3.Groups.AddDef("品名")
    bd3.Groups.AddDef("吊牌价")
    bd3.Totals.AddDef("数量","采购收货_数量")
    dt3 = bd3.BuildDataSource()
    
    Dim bd4 As New GroupTableBuilder("采购退货",SqlCgthd,"EFSG")
    Dim dt4 As fxDataSource
    bd4.Groups.AddDef("款号") \'根据型号分组
    bd4.Groups.AddDef("花色")
    bd4.Groups.AddDef("尺码")
    bd4.Groups.AddDef("仓库")
    bd4.Groups.AddDef("品类")
    bd4.Groups.AddDef("品名")
    bd4.Groups.AddDef("吊牌价")
    bd4.Totals.AddDef("数量","采购退货_数量")
    dt4 = bd4.BuildDataSource()
    
    Dim bd5 As New GroupTableBuilder("销售",SqlXsmx,"EFSG")
    Dim dt5 As fxDataSource
    bd5.Filter="销售类型码<>\'B\'"
    bd5.Groups.AddDef("款号") \'根据型号分组
    bd5.Groups.AddDef("花色")
    bd5.Groups.AddDef("尺码")
    bd5.Groups.AddDef("仓库")
    bd5.Groups.AddDef("品类")
    bd5.Groups.AddDef("品名")
    bd5.Groups.AddDef("吊牌价")
    bd5.Totals.AddDef("数量","销售_数量")
    dt5 = bd5.BuildDataSource()
    
    Dim bd6 As New GroupTableBuilder("退货",SqlXsmx,"EFSG")
    Dim dt6 As fxDataSource
    bd6.Filter="销售类型码=\'B\'"
    bd6.Groups.AddDef("款号") \'根据型号分组
    bd6.Groups.AddDef("花色")
    bd6.Groups.AddDef("尺码")
    bd6.Groups.AddDef("仓库")
    bd6.Groups.AddDef("品类")
    bd6.Groups.AddDef("品名")
    bd6.Groups.AddDef("吊牌价")
    bd6.Totals.AddDef("数量","退货_数量")
    dt6 = bd6.BuildDataSource()
    
    Dim bd7 As New GroupTableBuilder("库存调整入",SqlKctzr,"EFSG")
    Dim dt7 As fxDataSource
    bd7.Groups.AddDef("款号") \'根据型号分组
    bd7.Groups.AddDef("花色")
    bd7.Groups.AddDef("尺码")
    bd7.Groups.AddDef("仓库")
    bd7.Groups.AddDef("品类")
    bd7.Groups.AddDef("品名")
    bd7.Groups.AddDef("吊牌价")
    bd7.Totals.AddDef("数量","库存调整入_数量")
    dt7 = bd7.BuildDataSource()
  

--  作者:zaq3574020
--  发布时间:2021/3/14 23:05:00
--  
通过直接SQL语句查询 后台直接汇总的
--  作者:有点蓝
--  发布时间:2021/3/14 23:16:00
--  
直接做分组获取即可,比如

select 款号,仓库,min(入库时间) as 第一次入库时间,max(入库时间) as 最后一次入库时间 from (类似上面sql各种关联,能够获取符合条件的款号,仓库,入库时间) as a group by 款号,仓库