Foxtable(狐表)用户栏目专家坐堂 → [求助]查询语句的写法求助


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

主题:[求助]查询语句的写法求助

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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
[求助]查询语句的写法求助  发帖心情 Post By:2020/4/29 9:24:00 [只看该作者]

假定有张 工序 表有以下内容

编号         内容  上步工序编号
BH001     XXX                  这是第一步编号,所以没有上步工序编号
...
BH888     XXX   BH887
...
BH020     XXX   BH001
...
BH999     XXX   BH998
...
BH033     XXX   BH020

现在查询条件是 编号 = BH020 ,查询出来的结果是返回与此有关的所有记录,本例子中是3条记录,出来的结果如下:
编号         内容  上步工序编号
BH001     XXX
BH020     XXX   BH001
BH033     XXX   BH020
[此贴子已经被作者于2020/4/29 9:25:54编辑过]

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


加好友 发短信
等级:狐神 帖子:4633 积分:33809 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2020/4/29 9:40:00 [只看该作者]

编号 = 'BH020' orelse 上步工序编号 = 'BH020

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


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/29 10:02:00 [只看该作者]

根据BH020查询出所有的上步工序编号:http://www.foxtable.com/webhelp/topics/2747.htm

Dim Products As List(Of StringDataTables("产品").GetValues("上步工序编号","编号='BH020'")

同样方法获取上步工序编号=BH020的所有编号
Dim Products2 As List(Of StringDataTables("产品").GetValues("编号","上步工序编号='BH020'")
合并
Products.AddRange(Products2 )

最后筛选结果
Tables("产品").filter = "编号 in ('" & string.join("','",Products.toarray) & "')"

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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2020/4/29 10:21:00 [只看该作者]

我没表达清楚,例子也举的不好,真实情况是:
编号         内容  上步工序编号
BH001     XXX
BH020     XXX   BH001
BH033     XXX   BH020
BH050     XXX   BH033   这条记录也要被查出,因为之前与之关联的工序中出现过了BH020

表中有好多工序记录,当我查BH020时,要把前后与之关联的父父子子孙孙全查出来
[此贴子已经被作者于2020/4/29 10:22:04编辑过]

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


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/29 10:36:00 [只看该作者]

如果是内部表或者是access数据源,只能使用代码递归处理:http://www.foxtable.com/webhelp/topics/2416.htm

SqlServer 2005以上版本百度一下cte递归sql用法:https://www.baidu.com/baidu?word=SqlServer+CTE

 回到顶部