两表联合查询的问题

clbaddd 2012-12-21 06:46:40
表1:table1 贴子主题表
字段:
ID 自动编号,贴子ID号
BID 所属版块ID
UID 发贴人ID号
Title 贴子标题
IsHome 是否置顶,1是0否
...


表2:table2 贴子回复表
字段:
ID 自动编号,回复ID
TID 贴子ID
UID 回复人ID
...

现在要查询table1中的ID,UID,Title,IsHome和table2中关于贴子的回复数,并且根据是否置顶,以及回复数倒排序。这种SQL语句怎么写?
...全文
142 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
clbaddd 2012-12-21
  • 打赏
  • 举报
回复
原来是这样,多谢。
开启时代 2012-12-21
  • 打赏
  • 举报
回复
或者: select a.ID,a.UID,a.Title,a.IsHome,sum(case when b.tid ISNULL then 0 else 1 end) as 回复数 from table1 as a left join table2 as B on a.id=b.tid order by ishome desc,sum(case when b.tid ISNULL then 0 else 1 end) desc
开启时代 2012-12-21
  • 打赏
  • 举报
回复
select * from ( select ID,UID,Title,IsHome,(select COUNT(1) from table2 where tid=a.id) as 回复数 from table1 as a) as B order by ishome desc,回复数 desc

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧