У меня есть набор записей в моей таблице MS SQL. С Date в качестве основного ключа. Но Даты только для рабочих дней, а не для продолжительных дней. Например:Как получить следующую запись в таблице SQL
1/3/2000 12:00:00 AM 5209,540000000 5384,660000000 5209,540000000 5375,110000000 1/4/2000 12:00:00 AM 5533,980000000 5533,980000000 5376,430000000 5491,010000000 1/5/2000 12:00:00 AM +5265,090000000 5464,350000000 5184,480000000 5357,000000000 1/6/2000 12:00:00 AM 5424,210000000 5489,860000000 5391,330000000 5421,530000000 1/7/2000 12:00:00 AM 5358,280000000 5463,250000000 5330,580000000 5414,480000000 1/10/2000 12:00:00 AM +5617,590000000 5668,280000000 5459,970000000 5518.390000000 1/11/2000 12:00:00 утра 5513.040000000 5537.690000000 5221.280000000 5296.300000000 1/12/2000 12:00:00 AM 5267.850000000 5494.300000000 5267.850000000 5491.200000000
В этом я пытаюсь ввести новый столбец в таблицу, а значение для него должно быть значением 3-го cloumn минус значение третьего столбца предыдущего рабочего дня. Пожалуйста, помогите мне написать такой запрос. Мне трудно, потому что даты нет для окончания недели.
Возможно, вы можете оптимизировать предложение innermost where, чтобы ограничить, какие строки в Q1 будут проверены. Вы знаете, что предыдущая строка будет на 2 или 3 дня раньше. –
@Mike Он выполняет CLUSTERED INDEX SEEK, что очень эффективно. SQL Server, как правило, очень хорош в самооптимизации. – beach