3

当我使用 Invantive Data Hub 从多个 Exact Online 公司下载数据时,当我希望每个公司有一行时,我会得到重复的行。

我使用以下查询:

select gla.code
,      gla.description
,      gla.division
,      glc.glclassification_code_attr
,      glc.glclassification_description
,      glc.division_code
from   ExactOnlineREST..GLAccounts gla
join   ExactOnlineXML..GLAccountClassifications glc
on     gla.code     = glc.GLCLASSIFICATIONLINKS_GLACCOUNT_CODE_ATTR
and    gla.division = glc.division_code
where  gla.code     = '4001'
and    gla.division = 12345

我期望返回的结果是 1 行,但查询检索到 12 行。

来自单独表的单个查询确实给出了 1 行的预期结果。例如:

select glc.glclassification_code_attr
,      glc.glclassification_description
,      glc.GLCLASSIFICATIONLINKS_GLACCOUNT_CODE_ATTR
,      glc.division_code
from   ExactOnlineXML.XML.GLAccountClassifications glc
where  glc.GLCLASSIFICATIONLINKS_GLACCOUNT_CODE_ATTR = '4001'
and    glc.division_code                             = 12345

和:

select gla.Code
,      gla.Description
,      gla.Division
from   ExactOnlineREST..GLAccounts gla
where  gla.code     = '4001'
and    gla.division = 12345

如何确保组合查询只返回 1 行,如预期的除法 12345?

4

1 回答 1

1

抱歉,花了一段时间才解决这个问题。

您提出的问题实际上是我们软件中存在一段时间的错误。它仅适用于具有多个条件的联接的查询,这些条件都是字段比较。对于严重的性能优化(使用类似于索引的过滤器),我们在这里和那里采取了一些捷径。这导致只有第一个条件被验证。其他人没有。

我将确保使用正常渠道解决此问题。

于 2017-01-09T14:24:43.457 回答