以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  如何提取两个表中的组合唯一值出来?(上传了例子)  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=27262)

--  作者:zpx_2012
--  发布时间:2012/12/26 21:43:00
--  如何提取两个表中的组合唯一值出来?(上传了例子)

各位老师,

 

有两个表,表1和表2,每个表中都有部门及角色两列,想要分别提取两个表中部门及角色的组合唯一值(即不重复的值)

 

合在一起成为另外一个表,代码要怎么写?

 

 

谢谢!

 

[此贴子已经被作者于2012-12-27 8:47:13编辑过]

--  作者:e-png
--  发布时间:2012/12/26 23:15:00
--  

怎么都不提供例子呢?图片点击可在新窗口打开查看


--  作者:狐狸爸爸
--  发布时间:2012/12/27 8:22:00
--  

很多方法的,采用哪种方法,得看具体的情况,所以最好做个简单的例子发上来,具体说明需要。

 

 


--  作者:zpx_2012
--  发布时间:2012/12/27 8:47:00
--  

如例子中,要将表a和表b的所有部门及角色合并在一起,然后去除掉“部门”及“角色”组合起来重复的值得到表c

 

主要是想用两个表中所有的部门及角色去掉重复值来生成目录树,不知道组合唯一要如何去重复。

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:多表合并去重复.table

 

谢谢大家。


--  作者:lin_hailun
--  发布时间:2012/12/27 9:09:00
--  
 这样。

Dim f As New Filler
f.SourceTable = DataTables("表A") \'指定数据来源
f.SourceCols = "部门,角色" \'指定数据来源列
f.DataTable = DataTables("表C") \'指定数据接收表
f.DataCols = "第一列,第二列" \'指定数据接收列
f.ExcludeNullValue = True
f.ExcludeExistValue = True
f.Fill() \'填充数据

f = New Filler
f.SourceTable = DataTables("表B") \'指定数据来源
f.SourceCols = "部门,角色" \'指定数据来源列
f.DataTable = DataTables("表C") \'指定数据接收表
f.DataCols = "第一列,第二列" \'指定数据接收列
f.ExcludeNullValue = True
f.ExcludeExistValue = True
f.Fill() \'填充数据

--  作者:zpx_2012
--  发布时间:2012/12/27 10:34:00
--  

谢谢林老师,如果直接用SQL语句要怎么写?


--  作者:lin_hailun
--  发布时间:2012/12/27 11:20:00
--  
 或者用查询表来做吧。

select 部门, 角色 from {表A} where 部门 is not null
union select 部门, 角色 from {表B} where 部门 is not null

--  作者:zpx_2012
--  发布时间:2012/12/27 11:42:00
--  

这个好,原来用UNion可以自动排除重复值。再次感谢!