以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]跨表查询怎么实现  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=34789)

--  作者:ifastudy
--  发布时间:2013/6/15 17:39:00
--  [求助]跨表查询怎么实现
A表放订单。
B表放每个订单的各个监控节点。
我想查某个结点完成的的订单,如何实现。
本来将A与B作关联,但A的属性太多,不想把A中很多属性放到B中。所以现在我在A表中建了很多节点的属性,但是客户经常改变节点的配置,导致我要不停地修改代码。
有没有好的解决方案,可以直接用子表的属性来筛选父表?

--  作者:Bin
--  发布时间:2013/6/15 17:41:00
--  
A表和 B表总有关联依据列吧 根据这个列筛选不就行了吗?
--  作者:ifastudy
--  发布时间:2013/6/15 17:48:00
--  
还是不明白。比如
A中有数据
(订单编号,订单量)=(”DD001”,200)
(订单编号,订单量)=(“DD002“,200)

B中有数据
(订产编号,节点,节点状态)=(”DD001“,“下达采购”,“已完成”)
(订产编号,节点,节点状态)=(“DD001”,“面料齐备”,“进行中”)

AB用订单编号关联。

那么,我想查采购已完成,但面料齐备没完成的订单,怎么查呢?

--  作者:Bin
--  发布时间:2013/6/15 17:55:00
--  
dim dList as List(of string) = DataTables("B").GetUniqueValues("节点=\'面料齐备\' and 节点状态 = \'进行中\'","订单编号")
dim ddbh as string
for each s as string in dList
   ddbh=ddbh & ",\'" & s & "\'"
next

tables("A").filter="订单编号 in (" & ddbh & ")"

也可以用SQL语句实现



--  作者:ifastudy
--  发布时间:2013/6/15 18:02:00
--  
明白了,谢谢。这样的执行效率怎么样?
--  作者:ifernicer
--  发布时间:2013/11/5 1:36:00
--  
Bin哥总是在最需要的时候出现