Foxtable(狐表)用户栏目专家坐堂 → 想咨询一个:获取产品编号001最近一次采购时的订购数量 的好的sql语句


  共有2054人关注过本帖树形打印复制链接

主题:想咨询一个:获取产品编号001最近一次采购时的订购数量 的好的sql语句

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/13 18:31:00 [显示全部帖子]

为什么非要用sql语句?直接根据编号001find数据不行? http://www.foxtable.com/webhelp/scr/0396.htm

 

如果要生成查询表,参考 http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=104693&skin=0

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/13 19:00:00 [显示全部帖子]

关键是,什么是【最近一次】?最后添加的那一行是最近一次?那你可以根据 _Identify 列或者 _Sortkey 列排序。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/13 19:48:00 [显示全部帖子]

 汗,你逻辑就有问题。根据什么确定?

 

 你明细表必须有时间列,如果没有,怎么知道哪天数据才是最近最新的?

[此贴子已经被作者于2017/8/13 19:48:26编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/14 0:23:00 [显示全部帖子]

方法一:子表直接引用父表的订单时间列的值,用表达式列或者用代码赋值,都可以;这样就可以直接排序查找了;

 

方法二:先根据商品编号查找所有的订单编号,然后,根据订单编号,直接在主表查找出最近的一行记录,读取时间值,如代码

 

Dim idx As String = DataTables("订单明细").GetComboListString("商品='123'").Replace("|", "','")
Dim fdr As DataRow = DataTables("订单").find("订单编号 in ('" & idx & "')", "日期 desc")
Dim dr As DataRow = DataTables("订单明细").find("商品= '123' and 订单编号 = '" & fdr("订单编号") & "'")

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/14 10:02:00 [显示全部帖子]

两表连接查询,取一行数据,也是瞬间完成的,不需要把数据弄到本地,直接用sqlcommand查询就好了。


 回到顶部