【发布时间】:2015-07-30 19:45:43
【问题描述】:
我正在处理一个 SQL 查询/视图,我需要对每个表中的列值求和。
所以,我有父表:LIMIT 一个限制有许多分配和许多扩展。 每个分配和每个扩展都有一个源实体。
分配表和扩展表都有列:AR 和 MTM。
我需要将分配表和扩展表中的 AR 和 MTM 汇总为一列 ARTotal 和 MTM Total。我需要为每个 SourceEntity 执行此操作。当我指定限制 OID 和源实体 OID 时,我得到给定 LIMIT 和源实体的正确结果。但是我需要获取所有 Source 实体和所有限制这是返回特定实体和限制的正确结果的代码:
SELECT MAX(la.SourceEntity) as Source,
MAX(la.limit)as Limit,
SUM(la.ARLimit) as LAARLimit,
SUM(la.MTMLimit) as LAMTMLimit,
MAX(la.SourceEntity) as Source,
SUM(le.ARLimit) as LEARLimit,
SUM(le.MTMLimit) as LEMTMLimit,
(Sum(la.ARLimit) + SUM(le.ARLimit)) as ARLimitTotal
FROM LimitAllocation la
INNER JOIN LimitExtension le
on la.Limit = le.Limit
where la.Limit = le.Limit
and la.SourceEntity = 'XXXXXXXXXX-4D0C-460B-8E2C-1F32732A1A20'
and la.Limit = 'XXXXXXXXX-19f1-4a0f-81db-9598c0f58ea7'
此结果集返回给定源实体和给定限制的 1 条记录。并且值是正确的。
我如何获得分配和扩展表中每个源实体的结果,它们共享相同的 LIMIT OID?
【问题讨论】:
-
样本数据和预期结果将有助于传达您的意思。
-
用图片更新查询