2013-03-11 1 views
1

Существует одна таблица с coummns:
id, bookid, name, dateofentry, status.Какой должен быть запрос в MS Access 2007

нужен результат, где BookID и последняя dateofentry для соответствующей книги и статус книги R только т.е. (R- Return, и NR- не возвращать)

для, например, вход: -

id bookid subject dateofentry Status 
1 10  math 10-11-2012 NR 
2 10  math 1-12-2012 R 
3 110  math 1-12-2012 NR 
4 110  math 10-12-2012 NR 
5 102  math 10-11-2012 NR 
6 102  math 1-12-2012 R 
7 105  math 10-12-2012 NR 
8 105  math 17-12-2012 NR 
9 106  math 11-12-2012 NR 
10 106  math 14-12-2012 R 

выход: -

10 math 1-12-2012 R 
102 math 1-12-2012 R 
106 math 14-12-2012 R 

Каким должен быть запрос для этого

Заранее спасибо

Я попытался это: -

SELECT t.bookid, t.satus, r.MaxDate 
FROM (SELECT bookid, MAX(dateofentry) as MaxDate 
     FROM TempLogs 
     GROUP BY bookid) r 
INNER JOIN Logs t ON t.bookid = r.bookid AND t.dateofentry = r.MaxDate where status="R" 

Но я получаю некоторую синтаксическую ошибку и ее не работает.

+0

wht синтаксическая ошибка вашего получения? – andy

+0

i dont remeber точный lanugage, но это для подзапроса, который я использовал .... нет таблицы, , если бы вы могли сказать мне правильный ответ, исходя из моего вопроса, это будет действительно замечательно – user2155954

ответ

1

Похоже, синтаксическая ошибка связана с тем, что вы используете 2 разных имени таблицы. В вашем подзапросе вы используете таблицу TempLogs, но во внешнем запросе вы найдете таблицу Logs. Кроме того, правильный запрос и методология для того, что вы пытаетесь достичь, выглядят правильными.

+0

/****** ************ выберите t.bookid, t.status, r.MaxTime FROM (выберите Incident_Id, MAX (t. [Конечная дата]) как MaxTime из группы Logs по идентификатору bookID) r internal join Logs t on t.bookid = r.bookId и t. [Конечная дата] = r.MaxTime, где t. [status] = 'R' ***************** ***************/ Я пробовал это, он выполнен отлично, но не дает результата ... когда я запускаю это в Access 2007, у меня появилось два всплывающих окна с запросом значений один для Incident_ID и второй для t.End Date, два атрибута, используемые в подзапросе ... Пожалуйста, предложите – user2155954

+0

Вы не можете вывести 'Incid ent_Id' в подзапросе, но затем группируется с помощью 'BookId', а также вы ссылаетесь на' [Конечная дата] 'в столбце' MAX() ', но он только псевдоним как' t' во внешнем запросе. Я думаю, вам нужно что-то вроде 'select t.bookid, t.status, r.MaxTime FROM (выберите bookid, MAX ([Конечная дата]) как MaxTime из группы Logs по bookID) r внутреннее соединение Журналы t на t.bookid = r .bookId и t. [Конечная дата] = r.MaxTime, где t. [status] = 'R'' – RichardC

+0

Большое спасибо SoupyC .... Работает отлично ... appriciate your help – user2155954

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

  • Нет связанных вопросов^_^