Я хочу подсчитать, сколько дней требуется клиентам, чтобы переключиться между определенными контрактами.Это может произойти мгновенно или занять много дней, и я хочу отфильтровать дела, которые занимают слишком много времени.
В настоящее время у меня есть набор данных с клиентами (AccountNum), контрактами (ContractId), зданиями, в которых они живут (d) (RentalObjectId).AccountNum может переключать ContractId, а AccountNums может начинать новый ContractId в RentalObjectId, который ранее имел другой AccountNum.Таким образом, данные выглядят следующим образом:
CREATE TABLE PMCCONTRACT (
AccountNum nvarchar(20),
ContractId nvarchar(20),
RentalObjectId nvarchar(20),
ValidFrom date,
ValidTo date);
INSERT INTO PMCCONTRACT (AccountNum, ContractId, RentalObjectId, ValidFrom, ValidTo)
VALUES
('1','HC1','1','43101','43221'),
('2','HC2','2','43101','43252'),
('3','HC3','3','43466','NULL'),
('1','HC4','2','43222','NULL'),
('2','HC5','4','43261','43466'),
('4','HC6','5','43525','NULL');
И вот как я хочу, чтобы они выглядели так:
CREATE TABLE PMCCONTRACTFIX (
AccountNum nvarchar(20),
ContractId nvarchar(20),
RentalObjectId nvarchar(20),
ValidFrom date,
ValidTo date,
PreviousContract nvarchar(20),
PreviousContractValidTo date,
DaysBetweenContracts int);
INSERT INTO PMCCONTRACTFIX (AccountNum, ContractId, RentalObjectId, ValidFrom, ValidTo, PreviousContract, PreviousContractValidTo, DaysBetweenContracts)
VALUES
('1','HC1','1','43101','43221','NULL','NULL','NULL'),
('2','HC2','2','43101','43252','NULL','NULL','NULL'),
('3','HC3','3','43466','NULL','NULL','NULL','NULL'),
('1','HC4','2','43222','NULL','HC1','43221','1'),
('2','HC5','4','43261','43466','HC2','43252','9'),
('4','HC6','5','43525','NULL','NULL','NULL','NULL');
Я не знаю, как начать решать эту проблему.У кого-нибудь есть предложения?
С уважением, Игорь