我想从前3个分区的数字中获得借款人。我正在使用这个查询来选择分区:
use select top 1 code, data_container_alias from systempartitions@datadictionary where data_container_alias = 'nmbrs'
和下面的查询来获取借款人:
select *
from Debtors@nmbrs de
order
by de.id
最终结果:我得到了很多Debtors (比方说> 1.000),但这并不取决于我选择了多少个分区。
我想要实现的是使用下面的查询来获得一个债务公司列表
select de.PartitionID
, de.ID
, de.Number
, de.Name
, de.PhoneNumber
, de.FaxNumber
, de.Email
, de.LoonaangifteTijdvak
, de.KvkNr
, d.ID as DebtorID
from Debtors@nmbrs d
full
outer
join DebtorCompanies(d.ID)@nmbrs de
order
by de.PartitionID
但我的最终结果是(所有Debtors) X(所有分区/公司)的笛卡尔乘积
如何获取特定分区和公司的借款人?分区位于公司级别而不是债务级别有什么原因吗?
发布于 2017-11-23 00:18:25
分区通常是按法人实体划分的,因此每个公司都是一个单独的分区。在Nmbrs的情况下,他们并没有像salesforce org或Exact Online company那样的分区数据库,但他们有公司为他们发工资。
每一家公司的工资都是债务的一部分,这对我来说是一个有点模糊的概念。从Nmbrs本身的角度来看,它似乎是“债务”:他们向其发送发票的公司。
在我的测试环境中,只有一个借款人,它有四个公司和员工。
在测试环境中,以下查询返回四行:
select dtr.* prefix with 'dtr_'
, dcy.* prefix with 'dcy_'
from debtors dtr
join debtorcompanies(dtr.id) dcy
但我不能判断它是否是笛卡尔产品,因为借款人的计数(*)只有1。我会在让另一个借款人进入测试环境后检查并更新答案。
https://stackoverflow.com/questions/47438453
复制相似问题