Foxtable(狐表)用户栏目专家坐堂 → [求助]多表查询


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

主题:[求助]多表查询

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


加好友 发短信
等级:二尾狐 帖子:500 积分:5397 威望:0 精华:0 注册:2009/2/5 13:09:00
[求助]多表查询  发帖心情 Post By:2013/8/4 16:57:00 [只看该作者]

谢谢“!如何实现多表查询同一天回访日期,的行。?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:查询回访日期.table


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


加好友 发短信
等级:狐神 帖子:4633 积分:33809 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2013/8/4 17:05:00 [只看该作者]

五、UNION 运算符

UNION运算符用于组合两个查询的结果。
例如有一个客户表,一个供应商表,我需要得到所有在中国的客户和供应商的名称和地址。
因为数据位于不同的表中,显然,我们需要用两个查询才能完成任务:

SELECT 公司名称, 地址 FROM {客户} WHERE 国家 = '中国' UNION SELECT 公司名称, 地址 FROM {供应商} WHERE 国家 = '中国'

两个查询的字段名称、个数、类型必须完全一致才行。

默认情况下,UNION会自动排除重复的行,然后你可以用ALL关键词来确保返回所有的行,例如:

SELECT 公司名称, 地址 FROM {客户} WHERE 国家 = '中国' UNION ALL SELECT 公司名称, 地址 FROM {供应商} WHERE 国家 = '中国'


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/8/4 20:37:00 [只看该作者]

 例子,主要是拼凑sql查询语句。

'要查询的表
Dim tbs() As String = {"表A", "表B", "表C"}

Dim d As Date = e.Form.Controls("DateTimePicker1").Value
Dim t As Table = e.Form.Controls("Table1").Table
Dim sqlstr As String = ""
For i As Integer = 0 To tbs.Length - 1
    sqlstr += "select 回访日期, 第二列 from {" & tbs(i) & "} where 回访日期 = #" & d & "#"
    If i < tbs.length - 1 Then
        sqlstr += " union all "
    End If
Next
t.Fill(sqlstr, True)

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:查询回访日期.table



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


加好友 发短信
等级:二尾狐 帖子:500 积分:5397 威望:0 精华:0 注册:2009/2/5 13:09:00
  发帖心情 Post By:2013/8/6 10:12:00 [只看该作者]

非常感谢。?如果有不同列,怎么显示出来呢?

[此贴子已经被作者于2013-8-6 10:14:53编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/8/6 10:15:00 [只看该作者]

同列就重新命名 一下    例如 select a.第一列 as 表A第一列,b.第一列 as 表B第一列     这样

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


加好友 发短信
等级:二尾狐 帖子:500 积分:5397 威望:0 精华:0 注册:2009/2/5 13:09:00
  发帖心情 Post By:2013/8/6 10:43:00 [只看该作者]

sql数据源,
出错:select语句执行错误,请检查语法积极数据设置???、

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/8/6 10:52:00 [只看该作者]

你是怎么写的?

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


加好友 发短信
等级:二尾狐 帖子:500 积分:5397 威望:0 精华:0 注册:2009/2/5 13:09:00
  发帖心情 Post By:2013/8/6 10:58:00 [只看该作者]

'要查询的表
Dim tbs() As String = {"表A", "表B", "表C"}


Dim d As Date = e.Form.Controls("DateTimePicker1").Value
Dim t As Table = e.Form.Controls("Table1").Table
Dim sqlstr As String = ""
For i As Integer = 0 To tbs.Length - 1
    sqlstr += "select 回访日期, 人员 , 情况 from {" & tbs(i) & "} where 回访日期 = #" & d & "#"
    If i < tbs.length - 1 Then
        sqlstr += " union all "
    End If
Next
t.Fill(sqlstr, True)

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/8/6 11:00:00 [只看该作者]

应该弹出一下你拼接的SQL 看看是否有问题.代码看起来好像没问题.

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


加好友 发短信
等级:二尾狐 帖子:500 积分:5397 威望:0 精华:0 注册:2009/2/5 13:09:00
  发帖心情 Post By:2013/8/6 12:18:00 [只看该作者]

内部表,没问题。外表sql源还是不行的呀????????

 回到顶部
总数 12 1 2 下一页