Я ищу решение, в котором мне нужно создать набор записей из одной записи, используя данные из другой таблицы.Определение таблицы:
DECLARE A AS TABLE
(
AID BIGINT NOT NULL,
StartDate DATETIME NOT NULL,
EndDate DATETIME
)
DECLARE B AS TABLE
(
AID BIGINT NOT NULL,
StartDate DATETIME NOT NULL,
EndDate DATETIME NULL
)
Идея состоит в том, что когда A содержит:
1 | 01-01-2010 | 01-02-2010
2 | 01-10-2010 | 31-10-2010
, а B содержит:
1 | 01-01-2010 | 15-01-2010
2 | 15-10-2010 | 20-10-2010
, мы получаем 5 записей:
1 | 01-01-2010 | 15-01-2010
1 | 16-01-2010 | 01-02-2010
2 | 01-10-2010 | 15-10-2010
2 | 16-10-2010 | 20-10-2010
2 | 21-10-2010 | 31-10-2010
В настоящее время мы делаем это с помощью курсора на A и курсора внутреннего цикла на B, мы должны делать это в SQLServer (TSQL или в худшем случае CLR)
Любые идеи о том, какзаписать это как выборку, чтобы заголовок курсора исчез?