[英]How to join two tables from different database in MS SQL Azure?
我在两个不同的数据库中有两个不同的表。 需要连接两个表并使用查询获取结果
1)报告- report_id、report_name、描述
表报告存在于数据库“A”中
2) report_owners - report_id, report_owner
表 report_owners 存在于数据库“B”中
尝试按照以下查询加入表,但它抛出错误(此版本的 SQL 服务器不支持对服务器和/数据库的引用)。
询问:
select * from [A].[dbo].['reports'] as all_reports
INNER JOIN
select * from [B].[dbo].['report_owners'] as all_owner
ON all_report.report_id = all_owners.report_id
注意:从数据库“A”可以访问数据库“B”的交叉查询功能
有人请帮我解决这个问题吗?
您需要使用弹性查询来执行跨数据库查询。 请参阅以下示例:
客户信息(远程数据库)
CREATE TABLE dbo.CustomerInformation (CustomerID int identity(1,1) , CustomerName nvarchar(255));
DECLARE @i int = 1;
WHILE @i < 20000
BEGIN
INSERT INTO CustomerInformation(CustomerName)
VALUES ('Frodo');
SET @i += 1;
END
在将使用外部表的数据库上
CREATE TABLE OrderInformation(OrderId Int identity(1,1), CustomerId int,Ordervalue int);
SET NOCOUNT ON;
DECLARE @i int = 1;
WHILE @i < 200
BEGIN
INSERT INTO OrderInformation(CustomerId,Ordervalue)
Values (@I,111);
set @i += 1;
END
CREATE EXTERNAL TABLE [dbo].CustomerInformation(
CustomerID [int],
CustomerName nvarchar(255))
WITH
(
DATA_SOURCE = Stackoverflow
);
像这样查询远程表。
SELECT o.OrderId, c.CustomerID, c.CustomerName
FROM OrderInformation o
JOIN CustomerInformation c ON o.CustomerID = c.CustomerID
WHERE o.OrderId = 155
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.