Обновление запроса на самостоятельное соединение занимает слишком много времени - PullRequest
0 голосов
/ 16 мая 2018

Я переформулирую свой вопрос, как показано ниже:

У меня есть запрос к одной таблице, выполнение которого занимает больше времени, чем обычно. В той же таблице выполняются другие запросы вставки / обновления, но они, похоже, работают нормально. Поэтому я задаю проблему создания запроса, как показано ниже:

столбцы в таблице ‌ изначально:

  • EmployeeID
  • BusUnitID
  • SkillID
  • Статус
  • Тяжесть
  • StartDate
  • BackgroundStatus


alter table fOSMHistory
add RowID int identity,
    FromRowID int,
    LastRowID int,
    LastStatus varchar(10),
    LastSeverity int,ApprLeaveID int;

Найти последний статус цвета перед каждой синей датой окончания:

Update fOSMHistory
set LastStatus = cs.Status,
    LastSeverity = cs.Severity
from fOSMHistory cs join fOSMHistory ce -- Colour Start and Colour end
    on cs.RowID = ce.LastRowID
join fOSMHistory -- Blue Ends
    on fOSMHistory.Status = 'BlueEnd'
    and cs.employeeid = fOSMHistory.employeeid
    and cs.SkillID = fOSMHistory.SkillID
    and fOSMHistory.StartDate between cs.StartDate and ce.StartDate‌‌

Пример данных в таблице ниже: ‌‌ введите описание изображения здесь

Столбцы, которые добавляются изначально, удаляются в конечном запросе, поэтому они не видны в конечных данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...