本文主要介绍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
- <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>
关于MSSQL数据库跨数据库查询和跨表查询的方法就介绍到这里,如果您有更好的方法,欢迎您与我们分享,谢谢!
【编辑推荐】
(责任编辑:探索)
中国能建一季度新能源和综合智慧能源业务增长迅速 态势全面向好
荣耀畅玩50 Plus发布!6000mAh电池+35W快充1399元 -
NVIDIA帮助开发Linux驱动,Torvalds表示赞赏但不会道歉