以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  SQLJoinTableBuilder能否合并多个结构相同的查询表?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=10583)

--  作者:ybil
--  发布时间:2011/6/13 14:28:00
--  SQLJoinTableBuilder能否合并多个结构相同的查询表?

看来还需提供象SQL的UNION 的功能!

很多时候,一次SQLJoinTableBuilder不是我们想要的,必需对一些特殊情况进行二次处理,然后把[普遍]与[特殊]合并在一起!如下,如何合并"查询表1"与"查询表2"?

Dim jb As new SQLJoinTableBuilder("查询表1","A")
jb.AddTable("A","deno","B","deno")
jb.AddCol("A","序號")
jb.AddCol("B","deno")
jb.Build()


Dim jb As new SQLJoinTableBuilder("查詢2","A")
jb.AddTable("A","deno","B","deno")
jb.AddTable("B","clno","C","dno")
jb.AddCol("A","序號")
jb.AddCol("C","dno" ,"deno")
jb.Filter = "[商品砼] =0"
jb.Build()


--  作者:狐狸爸爸
--  发布时间:2011/6/13 14:30:00
--  

可以合并的,合并方法一样。

 

Dim dt1 As fxDataSource
Dim jb1 As new SQLJoinTableBuilder("查询表1","A")
jb1.AddTable("A","deno","B","deno")
jb1.AddCol("A","序號")
jb1.AddCol("B","deno")
dt1 = jb1.BuildDataSource

Dim dt2 As fxDataSource
Dim jb2 As new SQLJoinTableBuilder("查詢2","A")
jb2.AddTable("A","deno","B","deno")
jb2.AddTable("B","clno","C","dno")
jb2.AddCol("A","序號")
jb2.AddCol("C","dno" ,"deno")
jb2.Filter = "[商品砼] =0"
dt2 = jb2.BuildDataSource
 
余下步骤一样的....
 
 

--  作者:ybil
--  发布时间:2011/6/13 14:43:00
--  
试了不行![查询表1]与[查询表2]是无关联的,dt1.Combine("",dt2,"") 不行

我的意思是:把[查询表2]的结果接在[查询表1]的后面



--  作者:ybil
--  发布时间:2011/6/13 14:49:00
--  
另SQLJoinTableBuilder好似不支持查询表
--  作者:狐狸爸爸
--  发布时间:2011/6/13 14:51:00
--  

呵呵,合并的问题我看看

查询肯定不支持的,SQLJoinTableBuilder是从后台提取数据的


--  作者:ybil
--  发布时间:2011/6/13 15:04:00
--  
以下是引用狐狸爸爸在2011-6-13 14:51:00的发言:

呵呵,合并的问题我看看

查询肯定不支持的,SQLJoinTableBuilder是从后台提取数据的



如fxDataSource能够:dt1 UNION dt2 表示无关联合并就行了(当然得有个Filter)


另jb.AddExp("A","[數量]=null","C")设置的列总是跑到表后?


--  作者:狐狸爸爸
--  发布时间:2011/6/13 15:26:00
--  

呵呵,合并我会搞定的。

后添加的列,肯定在最后啊?


--  作者:ybil
--  发布时间:2011/6/13 15:30:00
--  
以下是引用狐狸爸爸在2011-6-13 15:26:00的发言:

呵呵,合并我会搞定的。

后添加的列,肯定在最后啊?



jb.AddExp("A","[數量]=null","C")在前面也一样跑在后面!


--  作者:狐狸爸爸
--  发布时间:2011/6/13 15:37:00
--  

我明白了,你只能move了:

http://help.foxtable.com/topics/0587.htm

 

我看看能否改进。


--  作者:ybil
--  发布时间:2011/6/13 16:10:00
--  

还有,表达式增加的列,其表达式只能是指定表的列,不能象

SQLJoin那样:A.clsl*B.數量