博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MSSQL数据库跨表和跨数据库查询方法简(转)
阅读量:6458 次
发布时间:2019-06-23

本文共 2208 字,大约阅读时间需要 7 分钟。

(注:本文转自)

我们假设有数据库test1和数据库test2。其中test1中有表 table1、table2;test2 中有表 table1。三个表的字段都为为:id、xingming、shijian、shuliang。接下来我们就以上面的条件为例来介绍跨数据库查询和跨表查询的方法。

一、MSSQL跨数据库查询
(1)原始:
SELECT * 
  FROM OPENROWSET('sqloledb', 
 'DRIVER={SQL Server};SERVER=127.0.0.1;UID=sa;PWD=ccds',
 test1.dbo.table1)  where xingming='a'
  UNION   all
SELECT * 
  FROM OPENROWSET('sqloledb', 
 'DRIVER={SQL Server};SERVER=127.0.0.1;UID=sa;PWD=ccds',
 test2.dbo.table1)  where xingming='a'
(2)简化:
SELECT * FROM test1.dbo.table1  where xingming='a'
  UNION   all
SELECT * FROM test2.dbo.table1  where xingming='a'
  注意事项:dbo 一定要有,不可以没有。
二、MSSQL跨表查询
  跨表查询我们在数据库test1内实现,执行以下的代码:
SELECT * FROM table1  where xingming='a'
  UNION   all
SELECT * FROM table2  where xingming='a'
  这就是UNION ALL 的作用。
  如果上面没有看懂,先建好上面的数据库和表,下面有个asp实例,照抄就可以了。
  文件名:unionall.asp
<html>
<head>
<meta http-equiv="Content-Language" content="zh-cn">
</head>
<body>
<%sqlStr="provider=sqloledb;data source=127.0.0.1;uid=sa;pwd=;database=test1"'跨库时,数据库名不必指定,如:database= 
set conn=server.createObject("adodb.connection") 
conn.open sqlStr 
set rs=server.createObject("adodb.Recordset") 
sql="   SELECT * "
sqlsql=sql&" FROM test1.dbo.table1  where xingming='a' " 
sqlsql=sql&" UNION all " 
sqlsql=sql&" SELECT * " 
sqlsql=sql&" FROM test2.dbo.table1  where xingming='a'" 
rs.open sql,conn,1%>
<div align="center">
 <table border="1" style="border-collapse: collapse" width="388" bordercolor="#0000FF" id="table1">
  <tr>
<td height="28" bgcolor="#CCCCCC" align="center"><b>id</b></td>
<td width="135" height="28" bgcolor="#CCCCCC" align="center"><b>xingming</b></td>
<td width="109" height="28" bgcolor="#CCCCCC" align="center"><b>shijian</b></td>
<td width="89" height="28" bgcolor="#CCCCCC" align="center"><b>shuliang</b></td>
  </tr><%if not rs.eof then 
  do while not rs.eof%>
 <tr>
<td height="28" align="center"><%=rs("id")%></td>
<td width="135" height="28" align="center"><%=rs("xingming")%></td>
<td width="109" height="28" align="center"><%=rs("shijian")%></td>
<td width="89" height="28" align="center"><%=rs("shuliang")%></td>
  </tr><%rs.movenext 
  loop 
  end if 
rs.close 
set rs=nothing
conn.close 
set conn=nothing%>
 </table>
</div>
</body>
</html>

转载于:https://www.cnblogs.com/xingluzhe/archive/2012/02/01/2334311.html

你可能感兴趣的文章
CSS颜色代码(转载)
查看>>
mysql修改最大连接数笔记
查看>>
C#实现10进制转2进制
查看>>
js和jquery给iframe src赋值的3种方法
查看>>
python爬虫知识点总结(十六)PySpider框架概述和用法详解
查看>>
Structs 2 session 学习
查看>>
百度地图API-自定义图标覆盖物
查看>>
EnglishWords——星期与月份
查看>>
Node.js 的原型注入方法
查看>>
LINUX环境并发服务器的三种实现模型
查看>>
PHP+Apache+MySQL+phpMyAdmin在win7系统下的环境配置
查看>>
pyramid setup(修改版)
查看>>
Python模块--Pexpect
查看>>
Android开发注意点小记
查看>>
面向接口编程详解(一)——思想基础
查看>>
spring 使用redis集群配置
查看>>
jquery-validate 表单验证插件的使用
查看>>
一周试用yii开发一个带各种该有功能的web程序(三)
查看>>
JavaScript的排序算法
查看>>
绑定touch事件后click无效,vue项目解决棒法
查看>>