MSSQL数据库 跨表 和 跨数据库 查询方法

原创 2011年01月25日 11:06:00

 MSSQL数据库 跨表 和 跨数据库 查询方法

http://blog.csdn.net/highwell1/archive/2009/04/22/4099940.aspx

 

条件:有数据库 test1、数据库 test2。test1中有表 table1、table2;test2 中有表 table1。三个表的字段为:id、xingming、shijian、shuliang。

一、跨数据库:
    (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 一定要有,不可以没有

二、跨表:(在数据库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 * "
sql=sql&" FROM test1.dbo.table1  where xingming='a' "
sql=sql&" UNION all "
sql=sql&" SELECT * "
sql=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>

再看不懂,买块豆腐自杀撞死。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/highwell1/archive/2009/04/22/4099940.aspx

分库分表的几种常见玩法及如何解决跨库查询等问题

在谈论数据库架构和数据库优化的时候,我们经常会听到“分库分表”、“分片”、“Sharding”…这样的关键词。让人感到高兴的是,这些朋友所服务的公司业务量正在(或者即将面临)高速增长,技术方面也面临着...
  • dinglang_2009
  • dinglang_2009
  • 2016年11月17日 09:40
  • 19459

跨库查询和多表查询

介绍如何使用MySQL进行跨库查询和多表查询(几张表的信息纵向连接在一张表中) information_schema MySQL内部使用的数据库 information_schema 和 mysql ...
  • wangligong
  • wangligong
  • 2016年12月07日 22:51
  • 1680

MSSQL数据库 跨表 和 跨数据库 查询方法

条件:有数据库 test1、数据库 test2。test1中有表 table1、table2;test2 中有表 table1。三个表的字段为:id、xingming、shijian、shuliang...
  • highwell1
  • highwell1
  • 2009年04月22日 11:45
  • 1199

SQL总结之跨数据库服务器之间的数据访问(MSSQL)

跨数据服务器访问数据,有什么用呢?它主要用于不同系统间的在数据库层面的数据同步。 MSSQL可以创建对其它数据库的链接,像访问本地数据库一样访问远程数据库中对象(表、存储过程等),创建链接的方式有两种...
  • gezhonglei2007
  • gezhonglei2007
  • 2016年09月16日 17:51
  • 2850

跨数据库表的操作

/*不同服务器数据库之间的数据操作*/ --创建链接服务器 exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' ...
  • mozhi111
  • mozhi111
  • 2016年12月08日 10:08
  • 516

MSSQL-跨服务器之间复制数据方法

开启SQL相关配置 SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,...
  • xmlife
  • xmlife
  • 2015年07月06日 17:46
  • 850

SQL应用之跨数据库服务器数据库结构同步实现(MSSQL)

跨数据库服务器数据库结构同步,这里包含以下几个方面的问题:①跨数据库服务器:两个数据库分别位于不同的数据库服务器;②数据库结构:由数据库对象(表、视图、存储过程、函数等)组成的数据库结构;③同步:要求...
  • gezhonglei2007
  • gezhonglei2007
  • 2016年09月17日 17:51
  • 2059

ACCESS VBA 跨数据库操作表

这篇是读了网上文章之后整理的。 问题: 有一个db1.mdb,其中有一个表tbl1,表中有两个字段id和name。 另外还有一个db2.mdb,其中有一个表tbl2,表中也有两个字段id和nam...
  • lujisheng
  • lujisheng
  • 2012年08月02日 10:09
  • 1773

sql server/SQL语句 数据库跨表/或跨数据库查询

从两个表中各取得的数据 合并在一起合成一个数据集 1.当在同一数据库下 不完全相同结构的两个表时 //先创建好一个需要的结构临时表 create table #tem ( Fid int, usern...
  • lsynb
  • lsynb
  • 2008年07月08日 14:29
  • 5395

SQL跨数据库服务器查询和跨表更新的操作

SQL跨数据库服务器查询和跨表更新的操作 SQL Server数据库跨数据库服务器查询和跨表更新的相关知识是本文我们主要要介绍的内容,接下来我们就通过一个实例来介绍这一过程。实例是这样的:想...
  • hanfazy
  • hanfazy
  • 2013年12月03日 11:22
  • 657
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章: MSSQL数据库 跨表 和 跨数据库 查询方法
举报原因:
原因补充:

(最多只允许输入30个字)