2017-11-22 5 views
0

TOP 3のパーティションから番号から債務者を得たいと考えています。私はパーティションを選択するには、このクエリを使用しています:トップ3のパーティションの番号から債務者を取得する方法

use select top 1 code, data_container_alias from [email protected] where data_container_alias = 'nmbrs' 

そして、このクエリを債務者を得るために:

select * 
from [email protected] de 
order 
by  de.id 

最終結果:私は債務者(たとえば> 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 [email protected] d 
full 
outer 
join DebtorCompanies(d.ID)@nmbrs de 
order 
by  de.PartitionID 

を使用して債務者企業のリストを取得することです。しかし、私の最終的な結果は、(すべての債務者)X(すべてのパーティション/会社)の直積である

特定のパーティションや企業に対して債務者を得るにはどうすればよいですか?パーティションが会社にあり、債務者レベルではない理由はありますか?

答えて

1

パーティションは多くの場合法的エンティティごとにセグメント化されているため、各企業は別々のパーティションです。 Nmbrsの場合、セールスフォース・オルガナやExact Onlineのようなデータベースは実際には分割されていませんが、ペイロールを行う会社があります。

支払われた各企業は債務者の一部ですが、これは私にとっては幾分不透明な概念です。 Nmbrs自身の視点からは、彼らが請求書を送った会社の「債務者」であるようです。

私のテスト環境には、従業員を抱える4つの企業を持つ債務者が1人しかいません。テスト環境では

、次のクエリは、4行を返します。

select dtr.* prefix with 'dtr_' 
,  dcy.* prefix with 'dcy_' 
from debtors dtr 
join debtorcompanies(dtr.id) dcy 

をしかし、債務者のカウント(*)は、私は意志ちょうど1であるので、私はそれはデカルト積であるかどうかを判断することはできません別の債務者をテスト環境に迎え入れた後で、回答を確認して更新する。

関連する問題