以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=107318)

--  作者:kensou11111
--  发布时间:2017/9/25 18:02:00
--  [求助]
假设项目中的BOM数据包含 物料编码设置,单位设置,产品表,材料表 共4张表,如下图

图片点击可在新窗口打开查看此主题相关图片如下:qq截图001.jpg
图片点击可在新窗口打开查看

那通过以下代码可以得到查询表如下
Dim jb As New SQLJoinTableBuilder("查询表1","材料表")
jb.AddTable("材料表","清单编号","产品表","清单编号")
jb.AddTable("产品表", "物料编码","物料编码设置","物料编码")
jb.AddTable("物料编码设置","单位编码","单位设置", "单位编码")
jb.AddCols("{产品表}.清单编号","{产品表}.物料编码 AS 产品编码","物料名称", "规格型号","单位名称 AS 产品单位","{材料表}.物料编码 As 材料编码","单机用量")
jb.Build()

图片点击可在新窗口打开查看此主题相关图片如下:qq截图002.jpg
图片点击可在新窗口打开查看

但如果要在上图的基础上再同时增加查询出材料的名称、规格型号、单位名称,那应该如何修改编码?


--  作者:有点甜
--  发布时间:2017/9/25 18:06:00
--  
Dim jb As New SQLJoinTableBuilder("查询表1","材料表")
jb.AddTable("材料表","清单编号","产品表","清单编号")
jb.AddTable("产品表", "物料编码","物料编码设置","物料编码")
jb.AddTable("物料编码设置","单位编码","单位设置", "单位编码")
jb.AddCols("{产品表}.清单编号","{产品表}.物料编码 AS 产品编码","物料名称", "规格型号","单位名称 AS 产品单位","{材料表}.物料编码 As 材料编码","单机用量")
jb.filter = "{物料表}.物料名称 = \'123456\' and {单位}.单位名称 = \'abc\' "
jb.Build()

--  作者:kensou11111
--  发布时间:2017/9/26 8:34:00
--  
您误会我的意思了,实际上我是想实现下面的查询结果,在原有基础上再增加材料的名称、规格型号和单位名称三列

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

那么能否直接在SQLJoinTableBuilder中实现呢?


--  作者:有点甜
--  发布时间:2017/9/26 8:40:00
--  

 如果要特殊查询,就这样设置

 

http://www.foxtable.com/webhelp/scr/2322.htm

 

 或者直接写sql语句,不会做,请上传具体实例。

 

 


--  作者:kensou11111
--  发布时间:2017/9/26 9:35:00
--  
还是不会啊
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.rar


实例在这里

--  作者:有点甜
--  发布时间:2017/9/26 10:00:00
--  

编写sql语句

 

select * from (Select  {产品表}.物料编码,清单编号,物料名称,规格型号,{物料编码设置}.单位编码,单位名称 From ({产品表} Inner JOIN {物料编码设置} ON {物料编码设置}.[物料编码] = {产品表}.[物料编码]) Inner JOIN {单位设置} ON {单位设置}.[单位编码] = {物料编码设置}.[单位编码]) as a
inner join (Select  {产品表}.清单编号,{材料表}.物料编码,单机用量,物料名称,规格型号,{物料编码设置}.单位编码,单位名称 From (({产品表} Inner JOIN {材料表} ON {材料表}.[清单编号] = {产品表}.[清单编号]) Inner JOIN {物料编码设置} ON {物料编码设置}.[物料编码] = {材料表}.[物料编码]) Inner JOIN {单位设置} ON {单位设置}.[单位编码] = {物料编码设置}.[单位编码]) as b on a.清单编号 = b.清单编号

 

http://www.foxtable.com/webhelp/scr/2321.htm

 


--  作者:kensou11111
--  发布时间:2017/9/26 11:14:00
--  
测试sql语句有效

请问像这种情形只能通过编写SQL语句来实现吗?我试过SQLJoinTableBuilder和查询表生成器都是不行的,那是否还有其他的较为便捷的实现方式能,因为实际应用时需要涉及到七八个表好几十个字段,写SQL语句会写晕的
--  作者:有点甜
--  发布时间:2017/9/26 11:16:00
--  

 上面的sql语句,是我用查询表这个功能帮助编写的 http://www.foxtable.com/webhelp/scr/2322.htm

 

 预览一下,就有生成的sql语句了,再整理一下即可。


--  作者:kensou11111
--  发布时间:2017/9/26 11:56:00
--  
那这种情况应该怎么设置查询器的数据关联呢?我自己试了一下,会报错

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


--  作者:有点甜
--  发布时间:2017/9/26 12:07:00
--  

  实例发上来测试,请说明连接逻辑。