Foxtable(狐表)用户栏目专家坐堂 → [求助]用SQL语句 合并表格


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

主题:[求助]用SQL语句 合并表格

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


加好友 发短信
等级:幼狐 帖子:58 积分:510 威望:0 精华:0 注册:2020/3/20 10:49:00
[求助]用SQL语句 合并表格  发帖心情 Post By:2020/4/10 15:28:00 [只看该作者]

老师,下午好!


我现在有2个SQL外部数据表  tb1  和 tb2   

表的结构都一样的。 状态,提案日期,提案人,提案名称


他们都来自外部数据源"ImproveSQL"


我现在想做个窗口1_table1  用来展示   tb1和tb2中  符合条件的行。 比如 状态=‘完成’  的行

如何使用SQL 直接调用后台数据,然后在窗口1_table1中展示出来?







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


加好友 发短信
等级:九尾狐 帖子:2180 积分:13816 威望:0 精华:2 注册:2012/2/25 10:59:00
  发帖心情 Post By:2020/4/10 15:37:00 [只看该作者]

SQLJoinTableBuilder合并多个查询结果

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


加好友 发短信
等级:幼狐 帖子:58 积分:510 威望:0 精华:0 注册:2020/3/20 10:49:00
  发帖心情 Post By:2020/4/10 15:51:00 [只看该作者]

有类似的实例吗    不太懂,,,

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


加好友 发短信
等级:超级版主 帖子:107861 积分:548662 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/10 15:51:00 [只看该作者]

select  状态,提案日期,提案人,提案名称 from tb1 where 状态=‘完成’ union all select  状态,提案日期,提案人,提案名称 from tb2 where 状态=‘完成’

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


加好友 发短信
等级:幼狐 帖子:58 积分:510 威望:0 精华:0 注册:2020/3/20 10:49:00
  发帖心情 Post By:2020/4/10 15:57:00 [只看该作者]

老师,
如果我有 10几个表,   tb1 tb2 ...tb15

难道需要十几个select  用 union合并?



能不能用类似 for .....next语句  进行简化?  

如何写代码呢?


[此贴子已经被作者于2020/4/10 15:57:44编辑过]

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


加好友 发短信
等级:超级版主 帖子:107861 积分:548662 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/10 16:23:00 [只看该作者]

我只懂union 。不知道高版本的SqlServer有没有新的语法可以用

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


加好友 发短信
等级:幼狐 帖子:58 积分:510 威望:0 精华:0 注册:2020/3/20 10:49:00
  发帖心情 Post By:2020/4/10 16:58:00 [只看该作者]

以下部分程序,


depart(0) = "Inst"

depart(1) = "HRADM"


Dim filter As String

filter = "状态 = '等待其他部门审核'"

Dim Sel As String

Sel=""

 

Sel= "Sel ect [序号],[班组],[状态] From {" & depart(0) & "} where " & filter & " union all " & "Sele ct [序号],[班组],[状态] From {" & depart(1) & "} where " & filter

messagebox.show(sel)

 

Tables("外部部门审批_Table1").Fill(Sel,"ImproveSQL",True)

 



老师, 我执行以后只显示第一个表的内容, 但是第二个表符合条件的内容不出现,   这个是为什么?   (实际上第二个表上 是存在符合条件的行的)


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


加好友 发短信
等级:超级版主 帖子:107861 积分:548662 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/10 17:11:00 [只看该作者]

sql拿到数据库里执行有没有问题?

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


加好友 发短信
等级:幼狐 帖子:58 积分:510 威望:0 精华:0 注册:2020/3/20 10:49:00
  发帖心情 Post By:2020/4/10 19:55:00 [只看该作者]

Dim filter As String
filter = "其它部门审批_I = 1"      这里1 代表 true    如果我这里改成 filter = "状态 = '已完成'"  就没问题

Dim Sel As String
Sel=""
Dim i As Integer
For i = 0 To 10
    Sel= Sel & "Sel ect [序号],[班组] From {" & depart(i) & "} where " & filter & " union all "
Next
Sel= Sel & "Sel ect [序号],[班组] From {" & depart(11) & "} where " & filter

Tables("外部部门审批_Table1").Fill(Sel,"ImproveSQL",True)

这里执行了以后 出现 “se lect 语句出现错误, 请检查语法和数据源设置。”

老师 能帮忙看下  错在哪儿吗?

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


加好友 发短信
等级:幼狐 帖子:58 积分:510 威望:0 精华:0 注册:2020/3/20 10:49:00
  发帖心情 Post By:2020/4/10 20:01:00 [只看该作者]

额  找到原因了  是我数据源的问题。

 回到顶部