VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 674|回复: 5

两个表分布在两个不同的数据库里,如何给他们做自然连接。

[复制链接]

1

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-1-15 18:00:01 | 显示全部楼层 |阅读模式
两个表分布在两个不同的数据库里,如何给他们做自然连接。这两个数据库放在同一个数据库服务器。
回复

使用道具 举报

0

主题

23

帖子

15.00

积分

新手上路

Rank: 1

积分
15.00
发表于 2020-1-19 09:27:01 | 显示全部楼层
格式:

数据库名.dbo.表名



数据库名..表名

如:

select A.*,B.*
from 数据库1..表1 A
        inner join 数据库2..表2 B on A.ID=B.ID
回复

使用道具 举报

0

主题

100

帖子

53.00

积分

新手上路

Rank: 1

积分
53.00
发表于 2020-1-19 14:36:02 | 显示全部楼层
若a表在db1中,b表在db2中

use db2;
select * from db1.dbo.a,b where db1.dbo.a.主键=b.主键;
回复

使用道具 举报

1

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-1-19 22:00:02 | 显示全部楼层
ALTER PROCEDURE dbo.SelectAnnounce
AS
        /* SET NOCOUNT ON */
        SELECT A.*
        FROM Customer.dbo.Announce A
        INNER JOIN aspnetdb.dbo.aspnet_Users U
                        ON A.AuthorID = U.UserID
        /*select * from Announce*/

提示:对象名Customer.dbo.Announce A无效。
这是怎么回事啊?
回复

使用道具 举报

1

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-1-21 14:18:01 | 显示全部楼层
SELECT *
FROM dbo.Announce
是可以查询出数据的。
但是
SELECT *
FROM Customer.dbo.Announce
就不可以了。
回复

使用道具 举报

0

主题

66

帖子

27.00

积分

新手上路

Rank: 1

积分
27.00
发表于 2020-1-23 23:54:01 | 显示全部楼层
SELECT A.*
FROM Customer..Announce A
INNER JOIN aspnetdb..aspnet_Users U
ON A.AuthorID = U.UserID

这样试试?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表