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

クエリ結果これらすべての値を使用して、列SSML_CompletedByUserNameに最新の日付を持つ 単一の値も必要です。SSML_CompletionDateどうすればその値を取得できるか教えてください。参考までに、c#を使用してWebフォームでこれを使用しています

4

1 に答える 1

0

私は次の解決策を考え出しました。

SELECT * into #temp FROM ( SELECT * FROM [SS_MatrixLearners] ORDER BY SSML_ID_LevelKey, SSML_Id_LevelValue) As rn FROM [SS_MatrixLearners] where ssml_Id_learnercourse = 7390 and ssml_id_matrix = 29 and ssml_Id_topic = 47) t WHERE rn = 1 Update #temp SET SSML_CompletedByUserName = (トップ 1 を選択 ISNULL(SSML_CompletedByUserName,'') [SS_MatrixLearners] WHERE ssml_Id_learnercourse=7390 and ssml_id_matrix = 29 and ssml_Id_topic=47 SSML_CompletionDate desc で ORDER ) SELECT * from #temp order by SSML_Id_LevelKey, SSML_Id_LevelValue DROP table #temp

最適化クエリが書けるといいですね。

于 2016-08-10T09:39:09.360 に答える