У меня есть вопрос по дизайну запроса, который мне кажется неправильным. Вот мой пример:
WO Number Date Status Fiscal Period End Date
123456 12/29/2019 Open 1/25/2020
123456 12/31/2019 Incomplete 1/25/2020
123456 1/1/2020 Approved 1/25/2020
Я хочу, чтобы рабочие заказы появлялись в отчете каждый день, чтобы пользователи могли прокручивать дни и видеть изменения в указанных c заказах. Есть 4 статуса: Открытый, Неполный, Ожидает одобрения и Утвержден. Предполагается, что всякий раз, когда статус изменяется, предыдущий статус (если он отображается как неполный, предыдущий статус открыт), предыдущий статус существовал в тот же день. Кроме того, если статус не отображается в отчете, это необходимо.
Вот как я хотел бы, чтобы данные отображались:
WO Number Date Status Fiscal Period End Date
123456 12/29/2019 Open
123456 12/30/2019 Open
123456 12/31/2019 Open
123456 12/31/2019 Incomplete
123456 1/1/2020 Incomplete
123456 1/1/2020 Awaiting Approval
123456 1/1/2020 Approved
…
123456 1/25/2020 Approved 1/25/2020
Я также повторяю окончательный статус утвержденного до конца текущего периода, но если статус максимальной даты это что-то иное, чем «Утверждено», оно должно повторяться до тех пор, пока WO не достигнет статуса «Утверждено», а затем будет повторяться до конца этого периода. работать очень медленно и запросы кажутся слишком сложными, поэтому я обращаюсь к ним. Все данные хранятся в едином табличном вызове WOHistory.
Использование SQL Сервер.