2016-08-10 2 views
0

я получаю 15 строк из запроса, приведенной ниже, и полученные значения также показаны на рисунке нижеКак получить последнее значение для группы

SELECT * FROM [SS_MatrixLearners] 
WHERE ssml_Id_learnercourse=7390 and ssml_id_matrix = 29 and ssml_Id_topic=47 
order by SSML_Id_LevelKey, SSML_Id_LevelValue 

query result Со всеми этими значениями Я также хочу одно значение SSML_CompletedByUserName, которое имеет последнюю дату в столбце SSML_CompletionDate. Пожалуйста, помогите мне, как я могу получить эту ценность. FYI Я использую это в веб-формах, используя C#

+1

Так что не вопрос aC#, больше SQL, для которого когда-либо использовался тип БД, который вы используете. Что вы пробовали – BugFinder

+0

C# упоминалось только потому, что мы можем добавить фильтр добавления после получения значений в DataSet, я также попробовал это не сработало для меня. –

ответ

0

Я придумал следующее решение.

SELECT * в #temp ОТ (SELECT * FROM [SS_MatrixLearners] ORDER BY SSML_ID_LevelKey, SSML_Id_LevelValue) As р-н ОТ [SS_MatrixLearners], где ssml_Id_learnercourse = 7390 и ssml_id_matrix = 29 и ssml_Id_topic = 47) т ГДЕ гп = 1 Обновление #temp SET SSML_CompletedByUserName = (выберите верхний 1 ISNULL (SSML_CompletedByUserName, '') из [SS_MatrixLearners] ГДЕ ssml_Id_learnercourse = 7390 и ssml_id_matrix = 29 и ssml_Id_topic = 47 упорядочить по алфавиту SSML_CompletionDate ) SELECT * FROM # temp order by SSML_Id_LevelKey, SSML_Id_LevelVal ue Таблица DROP #temp

Было бы хорошо, если бы можно было запросить некоторый оптимизационный запрос.