有没有办法从外部查询发送列值到内部子查询?

时间:2012-11-07 05:36:56

标签: sql-server-2008 select subquery

'讨论'表格架构

title      description    desid    replyto    upvote    downvote   views
browser    used           a1        none        1          1       12
-          bad topic      b2        a1          2          3       14
sql        database       a3        none        4          5       34
-          crome          b4        a3          3          4       12

上表有两种类型的内容类型主题和评论。唯一内容标识符'desid'用于标识其主要主题或注释。 'desid'以'a'开头为主题,评论'desid'以'b'开头。对于评论'replyto'是与该评论相关联的主题的'desid'。

我想找出基于(upvote + downvote +访问+评论数量)添加的主要主题列表。以下查询按照(upvote + downvote + visits)

的顺序给出了主题列表

select *查询次数最多upvote+downvote+views

select * 
from [DB_user1212].[dbo].[discussions] 
where desid like 'a%'
order by (upvote+downvote+visited) desc

For(comments + upvote + downvote + views)我试过

select *
from [DB_user1212].[dbo].[discussions]
where desid like 'a%'
order by (select count(*)
           from [DB_user1212].[dbo].[discussions]
           where replyto = desid )+upvote+downvote+visited) desc 

但它不起作用。因为它无法将外部查询的desid发送到内部子查询。请告诉我如何解决这个问题。请注意,我只想使用查询语言解决方案。

0 个答案:

没有答案