2010-11-05 2 views
1

Мне нужно написать SQL-запрос, который извлекается из таблицы, в которой хранятся записи каждый раз, когда один из наших продавцов говорит с клиентом. Соответствующие столбцы: (1) идентификатор сотрудника продавца, (2) номер счета клиента и (2) дата разговора.Ограничение результатов в SQL-запросе на основе отличимости в произвольном столбце

Часто бывает, что продавцы разговаривали с клиентами несколько раз за отчетный период (календарный месяц), поэтому будет несколько записей, которые почти идентичны, за исключением даты.

Где я сработал, так это то, что для этого запроса мне нужно вернуть только одну запись на комбинацию продавцов/клиентов, но я не могу использовать DISTINCT, потому что мне нужно включить дату самый последний разговор за отчетный период.

Итак, если продавец Джон говорил с клиентом ABC 10/10, 10/18 и 10/25, мне нужно вытащить запись 10/25, но не остальные.

Это база данных Sybase.

У меня такое ощущение, что я могу пропустить что-то простое здесь, но я пробовал искать и оставаться в тупике. Любая помощь приветствуется.

Спасибо за ваше время,

Джон

ответ

1

Гадание на именах столбцов ...

SELECT employee_id, client_acct_no, 
     MAX(conversation_date) AS MOST_RECENT_CONV_DATE 
    FROM mytable 
    WHERE conversation_date BETWEEN DATE '2010-10-01' AND DATE '2010-10-31' 
GROUP BY employee_id, client_acct_no 

Documentation для GROUP BY пункта.

Смежные вопросы