以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]多表查询 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=38692) |
||||
-- 作者:manyifuwu -- 发布时间:2013/8/4 16:57:00 -- [求助]多表查询 谢谢“!如何实现多表查询同一天回访日期,的行。?
|
||||
-- 作者:y2287958 -- 发布时间: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 国家 = \'中国\' |
||||
-- 作者:有点甜 -- 发布时间: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)
|
||||
-- 作者:manyifuwu -- 发布时间:2013/8/6 10:12:00 -- 非常感谢。?如果有不同列,怎么显示出来呢? [此贴子已经被作者于2013-8-6 10:14:53编辑过]
|
||||
-- 作者:Bin -- 发布时间:2013/8/6 10:15:00 -- 同列就重新命名 一下 例如 select a.第一列 as 表A第一列,b.第一列 as 表B第一列 这样 |
||||
-- 作者:manyifuwu -- 发布时间:2013/8/6 10:43:00 -- sql数据源, 出错:select语句执行错误,请检查语法积极数据设置???、
|
||||
-- 作者:Bin -- 发布时间:2013/8/6 10:52:00 -- 你是怎么写的? |
||||
-- 作者:manyifuwu -- 发布时间: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 -- 发布时间:2013/8/6 11:00:00 -- 应该弹出一下你拼接的SQL 看看是否有问题.代码看起来好像没问题. |
||||
-- 作者:manyifuwu -- 发布时间:2013/8/6 12:18:00 -- 内部表,没问题。外表sql源还是不行的呀???????? 、
|