1

大家好,我有两张表tblTechnologytblQuestions其中tblTechnology包含有关技术的信息,例如Asp.net, c# and alltblQuestions保存以下信息QuestionID] ,[QuestionTitle] ,[QuestionDesc] ,[DatePosted] ,[UserName] ,[TechID] ,[viewCount] ,[ReplyCount]

最初我编写了一个存储过程来获得所需的结果,现在我想从中获取每种技术的最新插入记录tblQuestions,这是我的数据tblquestion

在此处输入图像描述

从此我想从每种技术中获取最后插入的问题 ORDER BY Dateposted

这是我最初写的

 SELECT TechName,TechDesc, tblTechnology.TechID as ID, COUNT(QuestionDesc) AS 
  'Totalposts',sum(ReplyCount) as ReplyCount FROM tblTechnology LEFT JOIN 
  tblQuestions ON tblQuestions.TechID = tblTechnology.TechID 
     GROUP BY tblTechnology.TechID, TechName,TechDesc

结果如下

在此处输入图像描述

我想要我的QuestionTitle,DatePostedUsername包含在结果中,所以有人可以帮助我

4

1 回答 1

3

http://www.sqlfiddle.com/#!3/f5fe6/5

WITH A AS (
    SELECT top(1) WITH ties Q.TechID
        ,QuestionID
        ,QuestionTitle
        ,DatePosted
        ,Username
    FROM tblTechnology T LEFT JOIN tblQuestions Q ON Q.TechID = T.TechID
    ORDER BY row_number() over(partition BY Q.TechID ORDER BY Dateposted DESC)
)
SELECT * FROM A
OUTER apply (SELECT count(QuestionDesc) Totalposts, sum(ReplyCount) ReplyCount
    FROM tblQuestions WHERE A.TechID=tblQuestions.TechID) D
于 2013-02-09T10:36:42.070 回答