У меня есть следующие данные, которые представляют собой поток вызовов, поступающий в наш центр и передаваемый консультанту (CSO).Извлечение данных на основе данных в нескольких столбцах и строках
CallID Sequence Action Location Input NextLocation
1135 0 CallStart NULL NULL NULL
1135 1 MenuStart EFTPosHelpDesk NULL NULL
1135 2 KeyPress EFTPosHelpDesk 3 TransferCSO
1135 3 TransferEntry EFTPosHelpDesk NULL NULL
1135 4 TransferFlag NULL NULL NULL
1135 5 AccessNum NULL NULL NULL
1135 6 Transfer NULL NULL NULL
1135 7 Hangup NULL NULL NULL
Я использую MS SQL Management Studio 2005 для извлечения данных, однако сами данные хранятся на сервере MS SQL 2000.
В базе данных записано буквально миллионы вызовов, и мне нужно извлечь CallID, где клиент был переведен в CSO. Цель данных, который говорит мне вызов был переведен в CSO именно следующим образом:
@Sequence 2 -> NextLocation = 'TansferCSO'
@Sequence 3 -> Action = 'TransferEntry'
@Sequence 4 -> Action = 'TransferFlag'
@Sequence 5 -> Action = 'AccessNum'
@Sequence 6 -> Action = 'Transfer'
@Sequence 7 -> Action = 'Hangup'
... и это всегда в той последовательности, но «Последовательность» нумерация и «Location» будет меняться в некоторых вызовов может работать в среднем на 50 - 70 шагов, и у нас есть 100 из IVR (места).
Я довольно новичок в SQL, и я пробовал использовать FETCH и IF/ELSE, но безуспешно. ROW_NUMBER() не работает из-за данных, находящихся на сервере MS SQL2000.
Примите во внимание любые примеры или рекомендации.
Всегда ли происходит последовательность действий последовательностей последовательных номеров, даже если начальный порядковый номер непредсказуем? – HABO
Привет, ребята. Да, они происходят последовательно, однако нумерация может быть различной, например, TransferCSO в NextLocation может возникать в последовательности 33, поэтому последовательности с 34 по 38 будут там, где мне нужно искать правильные «действия». – CoderX71
Я чувствую, что пять «ПРИСОЕДИНЯЙТЕСЬ» от стола, когда он идет дальше. Условием для каждого является предварительная последовательность + 1 и следующее ожидаемое действие. С индексом 'CallId' /' Sequence' и включающим 'Action', он может обеспечить производительность в тот же день. Настоящий трюк представляет собой достаточное количество промахов для обработки ловушек. – HABO