我正在尝试对两个表执行一个SQL查询,以检索具有特定列(postid)的多个列(而且它不是该表的主键)。
此外,我需要选定的不同行是最新的(检索到的列之一是输入日期)。
详细说明:
我正在构建一个类似论坛的应用程序,使用3个表来存储数据。
我使用表1存储用户详细信息,表2存储帖子的元数据,表3存储帖子的详细信息、更新和回复(postid在表2中是唯一的,指向原始帖子,而在表3中,它用于显示原始帖子、更新和回复)。
表列:
表1(用户名、全名、手机等)
表2(postid、userid、entrydate、deleted列)
表3(postDetailsID、postID、userID、entryDate等)
我试图检索gridview中1个用户的所有帖子,我的sql查询使用userid从表中检索他的所有帖子。但是,它正在检索原始帖子及其所有更新,我只想检索每个帖子的最新更新。
如何在sql中完全实现(我知道我可以在c中使用返回的结果)?
我的问题:
SELECT T1.FullName, T3.PostID, T3.EntryDate, T3.Title
FROM Table1 as T1, Table3 as T3
WHERE T3.UserID = T1.UserID
AND T3.UserID = @UserID
最佳答案
您可以使用GROUP BY PostID
和MAX(EntryDate)