У меня есть таблица, в которой хранятся статьи, например:
Таблица статей:
ID #CategoryID #Text #Date
Итак, на странице у меня есть разные разделы, и каждый раздел имеет свой собственный идентификатор категории. Например, спорт — 1, новости — 2 и т. д.
Теперь мне нужна возможность загрузить последнюю статью из x категорий. У меня есть SP, который принимает nvarchar с идентификаторами, разделенными пробелом.
Итак, теперь вопрос в том, как я могу выбрать последнюю вставленную статью из категорий в nvarchar?
Я использую nvarchar-to-table Эрланда Соммерскога, чтобы получить идентификаторы в таблице (http://www.sommarskog.se/arrays-in-sql-2005.html#iter-list-of-integers)
Обычно я бы использовал что-то подобное для выбора статей из нескольких категорий:
SELECT TOP 5 ArticleID, Headline, CategoryID, ShortDescription, DatePublished
FROM Article
WHERE ArticleState = 3
AND CategoryID IN (SELECT i.number FROM iter_intlist_to_tbl(@Categories) AS i)
ORDER BY DatePublished DESC
Но как мне выбрать только последнюю статью из каждой из предоставленных категорий?