sql - 在 2 个不同的服务器上加入 2 个表
问题描述
两台服务器已链接,但尝试运行时出现错误:
消息 208,级别 16,状态 1,第 1 行
无效的对象名称“COI_port.Mess.agent_data”
SQL 代码:
SELECT
DATEPART(Hour, Chat) AS Interval, Chat,
msg.RepRegion, msg.AgentRole,
msg.Person, msg.Chat, msg.ChatStart, ChatEnd,
--columns needed
[AgentMessages], [ConsumerMessages],
[ResolutionHrs], [FirstRespSecs], [Abandoned],
--get interval online time
away.ntlogin, away.report_dt, away.int_interval,
away.backsoonsecs, away.awaysecs, away.onlinesecs
FROM
[REGIONAL_OI].[east].[MsgDetails] (nolock) msg
--join tables
FULL OUTER JOIN
[COI_port].[Mess].[agent_data](nolock) away ON msg.Interval = away.int
AND msg.Person = away.login
WHERE
msg.Chat >= GETDATE() - 14
解决方案
在您的查询中,您使用[COI_port].[Mess].[agent_data]从另一台服务器调用表。但是您需要在数据库名称和表名称之间使用dbo ,如下所示:
[COI_port].[混乱].dbo.agent_data
所以查询将是:
SELECT
DATEPART(Hour, Chat) AS Interval, Chat,
msg.RepRegion, msg.AgentRole,
msg.Person, msg.Chat, msg.ChatStart, ChatEnd,
--columns needed
[AgentMessages], [ConsumerMessages],
[ResolutionHrs], [FirstRespSecs], [Abandoned],
--get interval online time
away.ntlogin, away.report_dt, away.int_interval,
away.backsoonsecs, away.awaysecs, away.onlinesecs
FROM
[REGIONAL_OI].[east].[MsgDetails] (nolock) msg
--join tables
FULL OUTER JOIN
[COI_port].[Mess].dbo.agent_data(nolock) away ON msg.Interval = away.int
AND msg.Person = away.login
WHERE
msg.Chat >= GETDATE() - 14
推荐阅读
- asp.net - 连接到 Oracle 时出错,TNS:监听器当前不知道连接描述符 ASP.NET 中请求的服务
- xml - 对不需要的属性使用 XSD 唯一的身份约束
- javascript - 如何从上一篇文章中删除 hr 标签?
- python - 使用 Kivy 在另一个屏幕中使用某个屏幕的变量
- javascript - React,Graphql 模式类型声明
- ios - 无法使用 NSKeyedArchiver 归档自定义类对象
- uwp - 媒体播放器停止后如何清除媒体
- javascript - VueJS:触发函数以在加载表单时填写选择
- python - 没有名为“后端”的模块
- python - Scrapy - 无法获取表中的值