读取用户列表的时候,同时读出该用户最新发布的一个帖子。

tim8 2011-02-22 06:20:24
读取用户列表的时候,同时读出该用户最新发布的一个帖子。

怎么写这语句?

表1:Dx_User (用户表)

ID
UserName'帐号
RealName'姓名

表2:Dx_BBS (帖子表)

ID
UserID'用户ID
Title'帖子标题

我在把用户列出来的时候,想知道用户最新发布的帖子,怎么写呢?

我用 inner join left join,但帖子有很多条的时候,用户名就会重复很多次
...全文
86 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
快溜 2011-02-22

select *,
帖子=(select top 1 Title from Dx_BBS where UserID=a.UserID order by id desc)
from Dx_User a
回复
快溜 2011-02-22
 
select *,
帖子=(select top 1 Title from Dx_BBS where UserID=a.UserID' order by id desc)
from Dx_User a
回复
tim8 2011-02-22
最新帖子应该是根据ID来判断,ID越大越新。
还有,我的数据库是 SQL 2000
回复
dawugui 2011-02-22
你少个时间字段,如何区分先后?
回复
中国风 2011-02-22
select *
from Dx_Use as a
inner join Dx_BBS as b on b.UserID=a.UserID
where not exists(select 1 from Dx_BBS where UserID=b.UserID and ID>b.ID)
回复
唐诗三百首 2011-02-22
表2:Dx_BBS (帖子表)应该有个"发表时间"吧? 怎么没看到?
回复
中国风 2011-02-22
select * 
from Dx_User as a cross apply(select top 1 * from Dx_BBS where UserID=a.UserID order by ID desc) as b
回复
star95hmz 2011-02-22
可不可以根据时间来排啊,你可以设置一个时间的参数看看
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2011-02-22 06:20
社区公告
暂无公告