Моя базовая таблица со следующей структурой
ID DC_NO DC_DATE NOB TAG_NO
110168 DC/NGO/270118/188 1/27/18 0:00 800 NGO/191217/17
110169 DC/NGO/270118/189 1/27/18 0:00 400 NGO/191217/17
110170 DC/NGO/270118/190 1/27/18 0:00 600 NGO/191217/17
110171 DC/NGO/270118/192 1/27/18 0:00 700 NGO/191217/17
110172 DC/NGO/270118/196 1/27/18 0:00 720 NGO/191217/17
110173 DC/NGO/290118/179 1/29/18 0:00 700 NGO/191217/17
110174 DC/NGO/290118/227 1/29/18 0:00 500 NGO/191217/17
110175 DC/NGO/300118/220 1/30/18 0:00 834 NGO/191217/17
110176 DC/NGO/300118/221 1/30/18 0:00 600 NGO/191217/17
110177 DC/NGO/300118/221 1/30/18 0:00 10 NGO/191217/17
110178 DC/NGO/020218/185 2/2/18 0:00 900 NGO/191217/17
110179 DC/NGO/020218/186 2/2/18 0:00 3 NGO/191217/17
110180 DC/NGO/050218/176 2/5/18 0:00 50 NGO/191217/17
110181 DC/NGO/050218/177 2/5/18 0:00 29 NGO/191217/17
110182 DC/NGO/050218/177 2/5/18 0:00 24 NGO/191217/17
110183 DC/NGO/060218/105 2/6/18 0:00 56 NGO/191217/17
Моя вероятная выходная таблица должна быть такой:
DAY DC_DATE NOB ME
1 1/27/18 0:00 800 800
1 1/27/18 0:00 400 400
1 1/27/18 0:00 600 600
1 1/27/18 0:00 700 700
1 1/27/18 0:00 720 720
3 1/29/18 0:00 700 2100
3 1/29/18 0:00 500 1500
4 1/30/18 0:00 834 3336
4 1/30/18 0:00 600 2400
4 1/30/18 0:00 10 40
7 2/2/18 0:00 900 6300
7 2/2/18 0:00 3 21
10 2/5/18 0:00 50 500
10 2/5/18 0:00 29 290
10 2/5/18 0:00 24 240
11 2/6/18 0:00 56 616
TOTAL 6926 20563
Я хочу назначить значение для первого dc_date должно быть 1xNOB (1x800 = 800) и вторая dc_date должна быть 3xNOB (3x700 = 2100), а третья dc_date должна быть 4xNOB (4x834 = 3336) и так далее до конца таблицы.
Если dc_date изменяется, значение DAY должно быть, вторая дата-первая дата + 1 (например, 29.01.18-27.01.18 = 2 + 1 = 3), а затем третья дата-первая дата + 1 (например, 30.01.18-27.01.18 = 3 + 1 = 4) и этот процесс продолжается до конца таблицы
** первая (MIN) дата - это базовая дата, всегда значение 1 и добавьте это значениепосле вычитания между двумя датами (например, 29.01-27.01 = 2 + 1, 30.01-27.01 = 3 + 1, 02.02-27.01 = 6 + 1, 05.02-27.01 = 9 + 1, 06.02-27.01 = 10 + 1)
Выходные данные, которые мне потребовались в запросе: «Всего ME» = 20563 и «Среднее ME» = 2,996 (ME / NOB) для базовой таблицы, упомянутой выше.
Я не хочу обновлятьбазовый стол.Пожалуйста, используйте запрос CTE.
Группировка по должна быть на DC_DATE и TAG_NO.Когда TAG_NO изменилось, значение DAY должно начинаться с начала еще раз.Поле NOB должно быть суммировано.
Я использую sql server 2012