首先你的要求不明确..要是按照你的要求的话以下语句就可以解决了跨库中只要用.来表示就可以了db.table这样来表示某库某表selectodernamefromdb2.t1wheredb2.t1.oderid=db1.t2.oderid修改:selectodernamefromdb2.t1wheredb2.t1.oderidin(selectorderidfromdb1.t2wheredb1.t1.userid=db1.t2.useridanddb1.t1.username="用户名")。
- 情感问答
- 答案列表
sql 跨库查询:sqlserver跨库查询[朗读]
1.列出两个表的数据2.select*from[aaa]..table1ainnerjoin3.[bbb]..table2bona.id1=b.id24.只bbb表里的数据5.select*from[bbb]..table2bwhereb.id26.in(selecta.id1from[aaa]..table1a)7.aaa和bbb是数据库名数据库名和表名之间放两个点。
--sqlserver跨服务器查询--创建链接服务器(连接的保密要自己想办法解决啦!)execsp_addlinkedserver'lksv','','sqloledb','远程服务器名或ip地址'execsp_addlinkedsrvlogin'lksv','false',null,'用户名','密码'--查询实例select*fromlksv.数据库名.dbo.表名。
可以你可以将user1的table1的查询权限赋予user2,使用的时候直接user2.table1。
方法一:select*fromservername.dbo.tablename方法二:select*fromopendatasource('sqloledb','datasource=远程ip;userid=sa;password=密码').库名.dbo.表名。