数据库

 首页 > 数据库 > SqlServer > MSSQL数据库跨表和跨数据库查询方法

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

分享到:
【字体:
导读:
         摘要:本文通过实例的方式分别介绍了MSSQL数据库的跨数据库查询和跨表查询,希望会对读者有所帮助。本文主要介绍MSSQL数据库跨表和跨数据库查询的方法,我们假设有数据库test1和数据库test2。其中test1中有表table1、table2;test2中有表table1。三个表的字段...

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

本文通过实例的方式分别介绍了MSSQL数据库的跨数据库查询和跨表查询,希望会对读者有所帮助。

  本文主要介绍MSSQL数据库跨表和跨数据库查询的方法,我们假设有数据库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
  
  
  
  
  
  
  
  
  
  
  <%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%>
  
  


  
  
  
    
  
    
  
    
  
    
  
    
  
    <%if not rs.eof then
  
    do while not rs.eof%>
  
  
  
    
  
    
  
    
  
    
  
    <%rs.movenext
  
    loop
  
    end if
  
  rs.close
  
  set rs=nothing
  
  conn.close
  
  set conn=nothing%>
  
  
idxingmingshijianshuliang
<%=rs("id")%><%=rs("xingming")%><%=rs("shijian")%><%=rs("shuliang")%>

  
  

  
  
  
  

  关于MSSQL数据库跨数据库查询和跨表查询的方法就介绍到这里,如果您有更好的方法,欢迎您与我们分享,谢谢!


MSSQL数据库跨表和跨数据库查询方法
分享到:
MSSQL Server中的convert日期格式化
MSSQL Server中的convert日期格式化 MSSQL在日期转换方面没有Oracle方便,Oracle只需要记住To_Char()函数就可以,而MSSQL竟然要计转换号。 没办法,转载一篇关于MSSQL Convert函数的文章,方便查阅。如下: CONVERT 将某种数据类型的表达式显式转换为另一种数据类型。由于某些需求经常用到取日期格式的不同.现以下可...
解决PHP无法连接MSSQL数据库的问题
解决PHP无法连接MSSQL数据库的问题 今天接到一个问题要php5+iis6+mysql5的平台环境上访问sqlserver2000的数据,结果运行时发现php连接远程mssql数据库出错,出错 Warning: mssql_connect(): Unable to connect to server: 想想以前都是没问题的,怎么回事呢?后来去网上搜索,发现一篇文章,才发现原来服务器是需要安...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……