首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在多个数据库中连接多个表

如何在多个数据库中连接多个表
EN

Stack Overflow用户
提问于 2019-04-23 17:38:32
回答 1查看 38关注 0票数 0

我在4个数据库中有4个表,并希望根据唯一id和日期时间过滤最大值,从今天早上6:00 AM到第二天早上6:00 AM,并输出为另一个表/view。

我试着按照这个要求加入到表中。

代码语言:javascript
复制
USE PLC_WTR1
GO
SELECT  PLCTAG_PLC1_WTR1S001_PCReadJob_Tar_JobNo_Value,
MAX (Section_WTR1S001_CurrentJob_BatchLog_WeightActualProduced_Value) FROM WTR1
WHERE CAST (DateAndTime AS time) >= '05:59:00.000'
OR   CAST (DateAndTime AS time)  <= '05:59:00.000' 
GROUP BY PLCTAG_PLC1_WTR1S001_PCReadJob_Tar_JobNo_Value 

USE PLC_WTR2
GO
SELECT  PLCTAG_PLC1_WTR2S001_PCReadJob_Tar_JobNo_Value,
MAX (Section_WTR2S001_CurrentJob_BatchLog_WeightActualProduced_Value) FROM WTR2
WHERE CAST (DateAndTime AS time) >= '05:59:00.000'
OR   CAST (DateAndTime AS time)  <= '05:59:00.000' 
GROUP BY PLCTAG_PLC1_WTR2S001_PCReadJob_Tar_JobNo_Value

USE PLC_WTR3
GO
SELECT  PLCTAG_PLC1_WTR3S001_PCReadJob_Tar_JobNo_Value,
MAX (Section_WTR3S001_CurrentJob_BatchLog_WeightActualProduced_Value) FROM WTR3
WHERE CAST (DateAndTime AS time) >= ' 05:59:00.000'
OR   CAST (DateAndTime AS time)  <= '05:59:00.000' 
GROUP BY PLCTAG_PLC1_WTR3S001_PCReadJob_Tar_JobNo_Value 

USE PLC_WTR4
GO
SELECT  PLCTAG_PLC1_WTR4S001_PCReadJob_Tar_JobNo_Value,
MAX (Section_WTR4S001_CurrentJob_BatchLog_WeightActualProduced_Value) FROM WTR4
WHERE DateAndTime >= '2019-04-17 05:59:00.000'
OR   DateAndTime  <= '2019-04-18 05:59:00.000' 
GROUP BY PLCTAG_PLC1_WTR4S001_PCReadJob_Tar_JobNo_Value
EN

回答 1

Stack Overflow用户

发布于 2019-04-23 18:15:18

您可以将数据库模式名称放在名称的开头。您可能想要一个union结果。另一点是,您只在时间部分上过滤,因此它将带来具有相同时间的其他日期(除了今天)的行。

下面是一个如何在一个查询中使用多个数据库的示例。

代码语言:javascript
复制
select col1 from database1.dbo.table1
union all
select col1 from database2.dbo.table2

请注意,我使用的是dbo模式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55808323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档