这个sql怎么写?
表字段:iPostID,sHeader,iMainPostID.(帖子iD,标题,主帖子ID:为0则是主帖,大于0则为子贴)
现要查出主贴的id,sHeader,和回复帖子数。
该怎么写sql语句啊?
问题点数:20、回复次数:7Top
1 楼fengfangfang()回复于 2005-06-02 13:41:04 得分 10
select iPostId,sHeader,(select count(*) from test where iMainPostId=a.iPostId) 'Count' from test a
where imainpostid=0Top
2 楼LaoDai_Net(『老代』)回复于 2005-06-02 13:45:28 得分 5
ALTER PROCEDURE dbo.StoredProcedure13
/*
(
@parameter1 datatype = default value,
@parameter2 datatype OUTPUT
)
*/
AS
SELECT iPostID, sHeader,(SELECT COUNT(*) FROM BBS_Test WHERE (iMainPostID = bbs.iPostID)) 'topicCount'
FROM BBS_Test bbs
WHERE (iMainPostID = 0)
RETURN
Top
3 楼etyyy(主动脉)回复于 2005-06-02 14:19:32 得分 5
SELECT iPostID, sHeader,(SELECT COUNT(*) FROM TABLE WHERE (topID = a.iPostID)) 'countID'
FROM table a WHERE (iMainPostID = 0)
Top
4 楼csxtu(就为了混口饭吃还不行嘛(做人要后到))回复于 2005-06-02 14:30:32 得分 0
SELECT iPostID, sHeader, COUNT(iPostID) AS count
FROM yourtable GROUP BY iPostIDTop
5 楼qingyun1020(星期零)回复于 2005-06-02 14:32:45 得分 0
楼上好方法,用分组确实很好Top
6 楼csxtu(就为了混口饭吃还不行嘛(做人要后到))回复于 2005-06-02 14:40:42 得分 0
上面那个有点问题,不能显示sHeader
SELECT iPostID, (select sHeader from yourtalble t where iMainPostID='0'AND t.iPostID=yourtable.iPostID )AS Tile , COUNT(*) AS count
FROM yourtable GROUP BY iPostIDTop
7 楼csxtu(就为了混口饭吃还不行嘛(做人要后到))回复于 2005-06-02 14:43:44 得分 0
人家给的是错误答案你也给人分啊.Top




