在SQL中从2个数据库中提取财务数据

2020-09-25 01:09发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家

我发现了一个线程两个数据库中的现有库存量显示了逻辑 SQL中从2个SAP B1数据库中提取数据的过程。 当我在SQL中运行此命令时,它的行为就像是从不同来源获取数据一样,但是它是相同的-执行查询时处于活动状态的SQL DB。

您的帮助将不胜感激。

选择" Company_A"作为"公司"
 ,T0。[FormatCode] AS'FormatCode'
 ,T0。[AcctCode] AS'AcctCode'
 ,T0。[AcctName] AS'AcctName'
 ,SUM(T1。[Credit] -T1。[Debit])AS'Balance'
 ,T0。[FatherNum] AS'FatherNum'
 ,T2。[RefDate] AS'RefDate'
 从OACT T0
 内部联接JDT1 T1开启T0.AcctCode = T1.Account
 内联接OJDT T2开启T1.TransId = T2.TransId
 在('I','E')中的T0。[ActType]
 AND DateDiff(YY,T2。[RefDate],GetDate())= 0
 AND T1。[借方]!= T1。[贷方]
 GROUP BY T0。[FatherNum],T0.AcctCode,T0。[FormatCode],T0。[AcctName],T2。[RefDate]
 SUM(T1。[借方] -T1。[贷方])!= 0
 --ORDER BY公司,T0。[FatherNum]


 全联盟
 选择" Company_B"作为"公司"
 ,T0。[FormatCode] AS'FormatCode'
 ,T0。[AcctCode] AS'AcctCode'
 ,T0。[AcctName] AS'AcctName'
 ,SUM(T1。[Credit] -T1。[Debit])AS'Balance'
 ,T0。[FatherNum] AS'FatherNum'
 ,T2。[RefDate] AS'RefDate'
 从OACT T0
 内部联接JDT1 T1开启T0.AcctCode = T1.Account
 内联接OJDT T2开启T1.TransId = T2.TransId
 在('I','E')中的T0。[ActType]
 AND DateDiff(YY,T2。[RefDate],GetDate())= 0
 AND T1。[借方]!= T1。[贷方]
 GROUP BY T0。[FatherNum],T0.AcctCode,T0。[FormatCode],T0。[AcctName],T2。[RefDate]
 SUM(T1。[借方] -T1。[贷方])!= 0
 --ORDER BY公司,T0。[FatherNum]
 

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家

我发现了一个线程两个数据库中的现有库存量显示了逻辑 SQL中从2个SAP B1数据库中提取数据的过程。 当我在SQL中运行此命令时,它的行为就像是从不同来源获取数据一样,但是它是相同的-执行查询时处于活动状态的SQL DB。

您的帮助将不胜感激。

选择" Company_A"作为"公司"
 ,T0。[FormatCode] AS'FormatCode'
 ,T0。[AcctCode] AS'AcctCode'
 ,T0。[AcctName] AS'AcctName'
 ,SUM(T1。[Credit] -T1。[Debit])AS'Balance'
 ,T0。[FatherNum] AS'FatherNum'
 ,T2。[RefDate] AS'RefDate'
 从OACT T0
 内部联接JDT1 T1开启T0.AcctCode = T1.Account
 内联接OJDT T2开启T1.TransId = T2.TransId
 在('I','E')中的T0。[ActType]
 AND DateDiff(YY,T2。[RefDate],GetDate())= 0
 AND T1。[借方]!= T1。[贷方]
 GROUP BY T0。[FatherNum],T0.AcctCode,T0。[FormatCode],T0。[AcctName],T2。[RefDate]
 SUM(T1。[借方] -T1。[贷方])!= 0
 --ORDER BY公司,T0。[FatherNum]


 全联盟
 选择" Company_B"作为"公司"
 ,T0。[FormatCode] AS'FormatCode'
 ,T0。[AcctCode] AS'AcctCode'
 ,T0。[AcctName] AS'AcctName'
 ,SUM(T1。[Credit] -T1。[Debit])AS'Balance'
 ,T0。[FatherNum] AS'FatherNum'
 ,T2。[RefDate] AS'RefDate'
 从OACT T0
 内部联接JDT1 T1开启T0.AcctCode = T1.Account
 内联接OJDT T2开启T1.TransId = T2.TransId
 在('I','E')中的T0。[ActType]
 AND DateDiff(YY,T2。[RefDate],GetDate())= 0
 AND T1。[借方]!= T1。[贷方]
 GROUP BY T0。[FatherNum],T0.AcctCode,T0。[FormatCode],T0。[AcctName],T2。[RefDate]
 SUM(T1。[借方] -T1。[贷方])!= 0
 --ORDER BY公司,T0。[FatherNum]
 
付费偷看设置
发送
1条回答
木偶小白
1楼 · 2020-09-25 01:32.采纳回答

你好,马里,

可以在同一sql实例中查询不同的数据库。 您将需要具有每个表的全名,就像您引用的帖子一样。

在您的示例中,如果Company_A使用数据库名称" SBOA"和模式名称" dbo"; Company_B使用数据库名称" SBOB"和模式名称" dbo"; 您将需要为每个表指定全名,如下所示:

选择*

FROM [SBOA]。[dbo]。[OACT] -使用完整表名从Company_A中的dbo引用OACT

全部联盟

选择*

FROM [SBOB]。[dbo]。[OACT] -使用完整表名从Company_B中的dob引用OACT

希望这会有所帮助,

吉米

一周热门 更多>