Это в SQL Server 2005.
Я работаю в колл-центре, где записи о вызовах хранятся в таблице истории.Бизнес работает так, что агент (Agent1) принимает вызов, говорит с клиентом, а затем передает этот вызов какому-то случайному второму агенту (Agent2), чтобы он закрыл продажу.
В SQL данные показывают, что первый агент говорил с клиентом, а затем вызов завершился без утилизации.Вторая запись показывает новый вызов с новым HistoryID и показывает Agent1 и Agent2 в поле агента.
Вот пример того, как располагаются данные:
HistoryID| CallID | Date | Data | Agent
10940824 | 2149513 | 3/31/2011 12:20:01 PM | Call Data of the Record | agent1
10940853 | 2149513 | 3/31/2011 12:23:17 PM | Call Data of the Record | agent1 agent2
Agent1 & Agent2 на самом деле будет именем агента, последняя инициализация, поэтому Agent1 = bobs, Agent2 = annb.Вовлечено может быть много агентов, поэтому имена агентов Agent1 и Agent2, скорее всего, всегда будут разными.
Я пытаюсь составить некоторые отчеты, в первую очередь для агента Agent. Примеры отчетов:
Сколько переводов получил Agent2?
Гипотетически, я бы попросил SQL дать мне счетчик всех записей истории, где Agent2 является вторым человеком в записи (для данной даты или диапазона дат)
Добавление следующих возможных сценариев отчета:
Возможно выберите запись с двумя агентами, затем выберите предыдущую запись, где существует Agent1для CallID самостоятельно.Смысл, я работаю в обратном направлении с данными.Я прошу SQL найти два значения в поле «Агент», затем взять первое имя агента и CallID и извлечь предыдущую запись на основе этих двух значений.
Еще одно: я хотел бы получитьвсе записи, в которых есть агент1 и агент2, существуют в поле «Агент».
Если есть какая-либо дополнительная информация, которая требуется для лучшего ответа, пожалуйста, сообщите мне,