2012-03-15 2 views
1
SELECT a.[Evaluation Number], a.[CSO Name], a.service 
    , a.[Date of call], a.[Name of Monitor] 
    , a.[Date Sheet Completed] 
FROM [KD call monitoring] AS a 
WHERE a.[Evaluation Number] 
    IN (SELECT TOP 1 [Evaluation Number]  
     FROM [KD call monitoring] b  
     WHERE b.[CSO Name] = a.[CSO Name]    
      AND b.[Date of Call] =     
       (SELECT MAX([date of call])     
       FROM [KD call monitoring]     
       WHERE [cso name] = a.[CSO Name])  
       ORDER BY [Evaluation Number]); 

это код, который у меня есть на моей базе данных оценки звонков на работе, он заказывает записи, поэтому я знаю, какой из сотрудников не отслеживал свои звонки на некоторое время. однако он заказывает штраф с 31-го jan вплоть до конца праздника (примерно на полпути вниз по списку), а затем просто помещает записи случайных людей, прежде чем оседать и дает мне последнее лицо и запись, которая была оценена.
Этот список должен показывать только одну запись на человека - самую последнюю.
im not sure, если его испортить из-за високосного года или что-то, но я понятия не имею, как это исправить!
im использование ACCESS XP. и я бы приложил изображение, но новый пользователь так не допускается!SQL запрос не правильный, не знаю почему

+4

У вас нет запроса ORDER BY на ваш внешний запрос, поэтому окончательный набор результатов не будет заказан. – markblandford

+0

Добавьте ORDER BY a. [Дата вызова] к внешнему запросу, как говорит @creamyegg. – Fionnuala

+0

@creamyegg. Отправьте это как ответ. – swasheck

ответ

5

У вас, похоже, нет ORDER BY по вашему внешнему запросу, поэтому окончательный набор результатов не будет заказан.

+0

понял это, спасибо за помощь! – Kris

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