zoukankan      html  css  js  c++  java
  • MSSQL数据库跨表和跨数据库查询方法简(转)

    (注:本文转自http://zhidao.zgsj.com/article/5/2011715100803.shtml

    我们假设有数据库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>

  • 相关阅读:
    链表的相关算法及应用(二)
    Hexo博客同时托管到github和coding
    Valine评论出现Code 403:访问被API域名白名单拒绝,请检查你的安全域名设置
    记一次Python爬虫入门
    基于SSM的个人博客
    JSTL和EL表达式遍历List数组
    bootstrap快速开发响应式页面
    标签随机文字颜色和字体大小的实现方法
    安卓Service和Broadcast实现简单的音乐播放器
    ListView设置OnItemClickListener点击没有反应
  • 原文地址:https://www.cnblogs.com/xingluzhe/p/2334311.html
Copyright © 2011-2022 走看看