首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求一条子查询语句,先答先得分,该如何处理

2013-01-26 
求一条子查询语句,先答先得分求一条子查询语句,先答先得分表视图如下:ID FatherIDSortIDTitle101北京202上

求一条子查询语句,先答先得分
求一条子查询语句,先答先得分

表视图如下:
ID FatherID  SortID   Title
1        0        1        北京
2        0        2        上海
3        0        3        安徽
4        0        4        广东
5        1        5        怀柔
6        1        6        平谷
7        2        7        黄浦
8        2        8        徐汇
9        3        9        合肥
10       3        10       黄山
11       9        11       肥西
13       9        12       肥东
14       11       13       小东
15       11       14       开源
16       11       15       明膦
17       13       16       炒的
18       13       17       水扔
19       13       18       火光
20       13       19       六月
21       4        20       广州
22       4        21       佛山
23       21       22       东山
24       21       23       荔湾
25       23       24       伯遥
26       3        25       安庆
27       3        26       芜湖
28       20       27       时代


29       0        28       山东

我们知道下面的语句可以查询出所有的最高层级


SELECT [ID],[FatherID],[SortID],[Title]
FROM [jc_ArticleClass]
Where [FatherID]=0

可是现在我想在查询结果中再加上一列,用于显示此最高层级下的有多少了子类别,结果显示如下
ID FatherID  SortID   Title   Num
1       0       1       北京       2
2       0       2       上海       2
3       0       3       安徽       4
4       0       4       广东       2
29      0       28      山东       0


这里的Num就是这条下的下级类别数,如北京后面的2,其实就相当于执行了SQL
select count(id) from [jc_ArticleClass] where [FatherID]=1

请问这样的SQL子查询怎么写了!
先回答分数全给谁! sql 子查询
[解决办法]
SELECT A.[ID],A.[FatherID],A.[SortID],A.[Title] 
,ISNULL(COUNT(B.ID),0) AS Num
FROM [jc_ArticleClass] A
LEFT JOIN [jc_ArticleClass] B
ON A.ID = B.FatherID  
Where A.[FatherID]=0
GROUP BY A.[ID],A.[FatherID],A.[SortID],A.[Title]

热点排行
Bad Request.