提一个问题,SQL是否支持两个数据库的查询(联合查询?) select * from 库A..表a1,库B..表b演where A.a1.ID=B.b1.ID 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 当然可以select * from A..a1 t1,B..b1 t2where t1.ID=t2.ID 如楼上,当然,如果两个数据库在不同服务器上就麻烦一点。/********************链接数据库 *******************************/select * into 本地库名..表名 from OPENDATASOURCE( 'SQLOLEDB', 'Data Source=远程ip;User ID=sa;Password=密码' ).库名.dbo.表名insert 本地库名..表名 select * from OPENDATASOURCE( 'SQLOLEDB', 'Data Source=远程ip;User ID=sa;Password=密码' ).库名.dbo.表名或使用联结服务器:EXEC sp_addlinkedserver '别名','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;'exec sp_addlinkedsrvlogin @rmtsrvname='别名',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码'GO然后你就可以如下:select * from 别名.库名.dbo.表名insert 库名.dbo.表名 select * from 别名.库名.dbo.表名select * into 库名.dbo.新表名 from 别名.库名.dbo.表名go 直接表名前加前缀库名.dbo即可即select * from 表改成select * from 库名.dbo.表 select * from A..a1 a,B..b1 bwhere a.ID=b.ID select * from A..a1 a,B..b1 bwhere a.ID=b.ID或:select * from A..a1 a join B..b1 b on a.ID=b.ID from 库.所有者.表 .... 两个数据库在不同的服务器上的时候可以通过建立链接服务器来实现1:建立链接服务器EXEC sp_addlinkedserver '链接名', '', 'MSDASQL', NULL, NULL, 'DRIVER={SQL Server};SERVER=主机ip;UID=sa;PWD=密码;' (注意是登陆对方服务器的密码)GO2:授权访问EXEC sp_addlinkedsrvlogin '链接名','false'3:访问select * from 链接名.数据库.dbo.主机表当然也就可以把数据上传到主机上了:insert into 链接名.数据库.dbo.主机表 select * from 本地表 select * from A.dbo.a1 a,B.dbo.b1 bwhere a.ID=b.ID Like语句以窗体控件做变量怎么写才对? 一条关于SQL的语句。请大家解答一下! 请教一个连接条件比较复杂的多表查询,高手请进 为什么当读取数据的时间会这么长? 新手请教:有关sql查询输出语句、 请教一个面试中遇到的SQL语句的查询问题 在线求教,如何获取上周的周一和周日的日期,比如说今天是17号,上周10号是周一,16号是周日。急!!!!! 根据主表,来建立一个view视图。 sql语句求助 求一简单SQL语句,谢谢 [转贴]SQL SERVER配置全攻略! 把*.asa的数据文件导入sql7.0后,asp访问失败。
select * from A..a1 t1,B..b1 t2
where t1.ID=t2.ID
/********************链接数据库 *******************************/select * into 本地库名..表名 from OPENDATASOURCE(
'SQLOLEDB',
'Data Source=远程ip;User ID=sa;Password=密码'
).库名.dbo.表名insert 本地库名..表名 select * from OPENDATASOURCE(
'SQLOLEDB',
'Data Source=远程ip;User ID=sa;Password=密码'
).库名.dbo.表名或使用联结服务器:
EXEC sp_addlinkedserver '别名','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;'
exec sp_addlinkedsrvlogin @rmtsrvname='别名',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码'
GO
然后你就可以如下:
select * from 别名.库名.dbo.表名
insert 库名.dbo.表名 select * from 别名.库名.dbo.表名
select * into 库名.dbo.新表名 from 别名.库名.dbo.表名
go
改成select * from 库名.dbo.表
where a.ID=b.ID
where a.ID=b.ID或:
select * from A..a1 a join B..b1 b on a.ID=b.ID
可以通过建立链接服务器来实现
1:建立链接服务器
EXEC sp_addlinkedserver
'链接名',
'',
'MSDASQL',
NULL,
NULL,
'DRIVER={SQL Server};SERVER=主机ip;UID=sa;PWD=密码;'
(注意是登陆对方服务器的密码)
GO
2:授权访问
EXEC sp_addlinkedsrvlogin '链接名','false'
3:访问
select * from 链接名.数据库.dbo.主机表
当然也就可以把数据上传到主机上了:insert into 链接名.数据库.dbo.主机表 select * from 本地表
where a.ID=b.ID