2017-11-22 7 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의 경우에는 salesforce.com 또는 Exact Online 회사와 같은 파티션 된 데이터베이스가 실제로 없지만 급여를 수행하는 회사가 있습니다.

지불하는 각 회사는 채무자의 일부입니다. 이는 다소 불명확 한 개념입니다. 그것은 Nmbrs의 관점에서 "채무자"인 것처럼 보입니다. 그들은 자신의 인보이스를 보낸 회사입니다.

제 테스트 환경에는 직원이있는 회사가 4 곳있는 채무자가 하나뿐입니다. 테스트 환경에서

은, 다음 쿼리는 네 개의 행 반환

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

을하지만 채무자의 수 (*)는 단지 1. 나는 것 때문에 나는 카티 제품인지 여부를 판단 할 수없는 다른 채무자를 테스트 환경으로 데려 간 후 응답을 확인하고 업데이트하십시오.