大家好我有两个表tblTechnology
和tblQuestions
,其中tblTechnology
包含有关Asp.net, c# and all
和tblQuestions
等技术的信息,其中包含QuestionID]
,[QuestionTitle]
,[QuestionDesc]
,[DatePosted]
,[UserName]
,[TechID]
,[viewCount]
,[ReplyCount]
和tblQuestions
等信息。 {1}}
最初我有一个写入存储过程来获得所需的结果现在我想从tblquestion
获取每个技术的最新插入记录,这是我在 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
从此我想得到最后插入的问题ORDER BY Dateposted from each technology
这是我最初写的
QuestionTitle
给出如下结果
我希望我的DatePosted
,Username
和{{1}}包含在结果中,以便有人帮助我
答案 0 :(得分: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