我有一个联盟查询与4 subquerys。例如:SQL联合查询不正确加总
(Select Sum(x.result)
FROM
(
<query 1>
UNION
<query 2>
UNION
select IsNull(Sum(A.TransAmount) + Sum(Case When A.BetResult = 1 Then (A.BetWinAmount + (A.TransAmount * -1)) End), 0) As Result
from <join omitted>
where <where omitted>
) As X
问题出在与“总和”的联盟。我在那里做的是总和a.transamount和其他列(计算)betresult = 1时总结。当我运行查询计算不正确。
当我将该联合从语句中拉出并单独运行时,它会返回正确的值。在联盟内部它不计算两个和。
UNION是否忽略了其中一个语句中的这种类型的多重总和还是我有其他错误?
你可以发布整个查询吗?一个可能的错误是'union'消除重复,而'union all'不会 – Andomar 2011-02-27 14:36:23