Foxtable(狐表)用户栏目专家坐堂 → 多表请教


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

主题:多表请教

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


加好友 发短信
等级:一尾狐 帖子:405 积分:3572 威望:0 精华:0 注册:2014/1/8 17:12:00
多表请教  发帖心情 Post By:2017/3/1 9:45:00 [显示全部帖子]

我现在做产品工序库。有如下表(列出部分字段),现在处理方式如下,请教版主里边的部分解决方案。
产品表

产品编码    产品名称  图纸号        图纸信息        技术标准
   0001         ad         001        \a\3.jgg           222

工库主表

产品编码     部件       规格       部件单量       编码
0001          c         30*30          2        000101

工库明细表

编码           组件        组件规格     组件单量      工序编码
000101      a             10*20          10          gx001
000101      b             10*50          5            gx005


工序表

工序编码    工序名称   工序规格      价格
gx001        yyy         10-20         0.8
gx002        iii            10-50        0.9

订单主表 
订单号     客户订单号      交货日期    下单日期
17-001       55-01         

订单明细表
订单号     产品编码     数量     
17-001     0001        30

根据订单表生成工序清单库


工序清单库
订单号    产品编码      编码         部件总量     组件总量
17-001    0001      000101        60             600

派工表
派工单号   订单号   产品编码    编码     派工量     工资   
 

请教版主,以上数据设置。现在遇到的困难主要为通过多表生产数据。
1、如果生产详细的工序清单,包含以下字段,应该思路是什么(自己通过查询表做的不对数据,行数很多)

工序清单查询表(用于派工时调用)生成的字段(实际字段比现在列的要多)
订单号  客户订单号  产品名称 数量   部件  规格  部件单量   组件  组件单量   工序名称  价格  部件总量  组件总量 

我现在通过查询表,查询的数据不对,行数很多

左表   右边  应该如何设置

2、现在工序清单库,简单设置这些字段,是否正确。(好像不用工序清单,也能直接生成)

3、如果以工序清单库,为主,一个表对多个表,如何做查询。

4、以上思路,对几十万行的数据,速度不知道怎么样,请教版主思路。



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


加好友 发短信
等级:一尾狐 帖子:405 积分:3572 威望:0 精华:0 注册:2014/1/8 17:12:00
  发帖心情 Post By:2017/3/1 11:16:00 [显示全部帖子]

版主你的意见工序清单库是否有必要呢。

多表查询  与 生成固定的表  从速度上来说,数据量大的话  哪个更好
[此贴子已经被作者于2017/3/1 11:21:46编辑过]

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


加好友 发短信
等级:一尾狐 帖子:405 积分:3572 威望:0 精华:0 注册:2014/1/8 17:12:00
  发帖心情 Post By:2017/3/1 11:40:00 [显示全部帖子]

FROM 子句中的对象 "工序库明细" 和 "工序库明细" 具有相同的表现名称。请使用相关名称来区分它们。

Sel ect  {订单明细表}.*,{工序库明细主表}.*,{工序库明细}.*,{工序表}.* From (({订单明细表} Inner JOIN {工序库明细主表} ON {工序库明细主表}.[物料编码] = {订单明细表}.[产品编码]) Inner JOIN {工序库明细} ON {工序库明细}.[编码] = {工序库明细主表}.[编码]) Inner JOIN {工序库明细} ON {工序库明细}.[工序编码] = {工序表}.[工序编号]

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


加好友 发短信
等级:一尾狐 帖子:405 积分:3572 威望:0 精华:0 注册:2014/1/8 17:12:00
  发帖心情 Post By:2017/3/1 12:15:00 [显示全部帖子]

版主按照你的建议测试,可以生成查询数据了。

请教   如果以  工序清单库里边存储的  字段,分别去查询  产品表   订单明细表    工库主表   应该如何去做。


如果这种查询方式几十万行的数据  速度会不会特别慢

工序清单库
订单号    产品编码      编码         部件总量     组件总量
17-001    0001      000101        60             600
[此贴子已经被作者于2017/3/1 12:19:15编辑过]

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


加好友 发短信
等级:一尾狐 帖子:405 积分:3572 威望:0 精华:0 注册:2014/1/8 17:12:00
  发帖心情 Post By:2017/3/1 12:31:00 [显示全部帖子]

我的意思是   工序清单库里边  有几个关键字段

工序清单库
订单号    产品编码      编码       工序编码         部件总量     组件总量
17-001    0001      000101           gx001                 60             600

这个工序清单库  有没有必要去生成。     生产工序清单,主要把几个关键字段生成出来,计算总量,以便派工调用。
这里使用工序清单库分别去查询对应的库吗。  如果使用的话,他自己对应好几个库。如何做查询。

还是应该用    订单->订单明细->产品->工库->明细->工序    去查询同时生成需要的    部件总量   组件总量。

这两种方式,哪一种比较好的。  如果用第二种,工序清单库是不是没有生成的必要。  


如果查询后生成几十万甚至上百万行记录的话,这个2中方式行吗,应该如何处理。
我现在生成  不到一万行数据,感觉就有延迟的。 
请教数据量大了,应该如何处理。


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


加好友 发短信
等级:一尾狐 帖子:405 积分:3572 威望:0 精华:0 注册:2014/1/8 17:12:00
  发帖心情 Post By:2017/3/1 13:58:00 [显示全部帖子]

好的谢谢版主,已经根据你的指导生成了  查询表  非常感谢。




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


加好友 发短信
等级:一尾狐 帖子:405 积分:3572 威望:0 精华:0 注册:2014/1/8 17:12:00
  发帖心情 Post By:2017/3/1 14:13:00 [显示全部帖子]

版主现在有个条件表达,请教。

加载条件     表a.1 = ‘123’  and   表e.2 = 0
                
                表a.1= ‘123’   and  表f.3= 表b.3 and 表b.2 = 表c.2 and  表e.2 = 表c.1

这2个条件组合起来的表达式 怎么设定

表a.1 = ‘123’  and    表f.3= 表b.3  and  表b.2 = 表c.2 and  表e.2 = 表c.1 or 表e.2 = 0
                
这样设定显示不正确数据。
[此贴子已经被作者于2017/3/1 14:15:46编辑过]

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


加好友 发短信
等级:一尾狐 帖子:405 积分:3572 威望:0 精华:0 注册:2014/1/8 17:12:00
  发帖心情 Post By:2017/3/1 14:31:00 [显示全部帖子]

Tables("数据调用测试窗口_table1").Fill("S elect  {物料表}.*,{工库方案}.*,{订单明细表}.*,{工序库明细主表}.*,{工序库明细}.*,{工序表}.* From (((({物料表} Inner JOIN {工库方案} ON {工库方案}.[物料编码] = {物料表}.[物料编码]) Inner JOIN {订单明细表} ON {订单明细表}.[产品编码] = {工库方案}.[物料编码]) Inner JOIN {工序库明细主表} ON {工序库明细主表}.[物料编码] = {订单明细表}.[产品编码]) Inner JOIN {工序库明细} ON {工序库明细}.[编码] = {工序库明细主表}.[编码]) Inner JOIN {工序表} ON {工序表}.[工序编号] = {工序库明细}.[工序编码] where {订单明细表}.[内部加工单号] = '17p-测试'" ,"shengchan",True)

where {订单明细表}.[内部加工单号] = '17p-测试'"  这个条件表达式全部在这里设置吗。还是在inner JOIN {订单明细表} ON {订单明细表}.[产品编码] = {工库方案}.[物料编码]单独的这里边也以设定。




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


加好友 发短信
等级:一尾狐 帖子:405 积分:3572 威望:0 精华:0 注册:2014/1/8 17:12:00
  发帖心情 Post By:2017/3/1 15:43:00 [显示全部帖子]

请教版主。现在我加入  工序清单 库,数据就不对。工序清单库里边我有几个列想从这里调数据。

物料表---工库方案--订单明细表--工序库明细主表--工序库明细--工序表   这样生产的数据没有问题。

我在前面加入 工序清单库    

工序清单库--物料表---工库方案--订单明细表--工序库明细主表--工序库明细--工序表   

数据量多了很多倍,造成速度很慢,  这样就不对了。请教版主是什么原因。

详细看了看,多了的倍数正好  等于   工序清单库  的行数
[此贴子已经被作者于2017/3/1 15:46:02编辑过]

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


加好友 发短信
等级:一尾狐 帖子:405 积分:3572 威望:0 精华:0 注册:2014/1/8 17:12:00
  发帖心情 Post By:2017/3/2 10:59:00 [显示全部帖子]

Tables("数据调用测试窗口_table1").Fill("Se lect a.物料编码 From {物料清单} a INNER JOIN (S elect  {物料表}.*,{工库方案}.*,{订单明细表}.*,{工序库明细主表}.*,{工序库明细}.*,{工序表}.* From (((({物料表} Inner JOIN {工库方案} ON {工库方案}.[物料编码] = {物料表}.[物料编码]) Inner JOIN {订单明细表} ON {订单明细表}.[产品编码] = {工库方案}.[物料编码]) Inner JOIN {工序库明细主表} ON {工序库明细主表}.[物料编码] = {订单明细表}.[产品编码]) Inner JOIN {工序库明细} ON {工序库明细}.[编码] = {工序库明细主表}.[编码]) Inner JOIN {工序表} ON {工序表}.[工序编号] = {工序库明细}.[工序编码] where {订单明细表}.[内部加工单号] = '17p-测试' and ({工库方案}.配色号 ={工序库明细}.配色 or {工序库明细}.配色 = 0)) b on a.物料编码 = b.物料编码" ,"a",True)


版主请教以上代码,提示se lcet 语句执行错误请检查语法及数据源错误

单独执行下面语句没有错误
S elect  {物料表}.*,{工库方案}.*,{订单明细表}.*,{工序库明细主表}.*,{工序库明细}.*,{工序表}.* From (((({物料表} Inner JOIN {工库方案} ON {工库方案}.[物料编码] = {物料表}.[物料编码]) Inner JOIN {订单明细表} ON {订单明细表}.[产品编码] = {工库方案}.[物料编码]) Inner JOIN {工序库明细主表} ON {工序库明细主表}.[物料编码] = {订单明细表}.[产品编码]) Inner JOIN {工序库明细} ON {工序库明细}.[编码] = {工序库明细主表}.[编码]) Inner JOIN {工序表} ON {工序表}.[工序编号] = {工序库明细}.[工序编码] where {订单明细表}.[内部加工单号] = '17p-测试' and ({工库方案}.配色号 ={工序库明细}.配色 or {工序库明细}.配色 = 0)
[此贴子已经被作者于2017/3/2 11:00:38编辑过]

 回到顶部
总数 14 1 2 下一页