SQL Server - Как выбрать самую последнюю запись для пользователя? - PullRequest
4 голосов
/ 12 июня 2011

Я пытаюсь выполнить команду SQL, которая должна рисовать в последней строке, которая вошла в базу данных.

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

Я начал работать над утверждением:

SELECT @UserID, u.UsersName, t.ThreadTitle, t.ThreadParagraph
FROM Users as u
INNER JOIN Threads as t ON u.UserID = t.UserID
Where @UserID = t.UserId

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

Ответы [ 2 ]

9 голосов
/ 12 июня 2011

В MS SQL вы можете использовать TOP 1 для этого, вам также нужно упорядочить по вашему созданному столбцу даты и времени по убыванию.

SELECT TOP 1 @UserID, u.UsersName, t.ThreadTitle, t.ThreadParagraph
FROM Users as u
    INNER JOIN Threads as t ON u.UserID = t.UserID
Where @UserID=t.UserId
ORDER BY [YourDateTimeFiled] DESC
0 голосов
/ 12 июня 2011

Я не уверен, что точно понял ваш вопрос, но если у вас есть идентификатор потока (первичный ключ в вашей таблице потоков), попробуйте это

SELECT @UserID, u.UsersName, t.ThreadTitle, t.ThreadParagraph
FROM Users as u
INNER JOIN Threads as t ON u.UserID = t.UserID
Where @UserID=t.UserId
ORDER BY t.id DESC
LIMIT 0, 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...