LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

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

admin
2011年7月1日 9:52 本文热度 2612

条件:有数据库 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>


该文章在 2011/7/1 9:52:22 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved