高分求SQL语句

mustapha 2003-04-01 04:55:34
有一个数据库article,存放ArticleID,,name(文章名),bid(文章所属板块) 等等字段。第二个数据库reply,存放有ReplyID,ArticleID(与Article数据库的ArticleID相对应)
,另还有回复时间,回复人,回复主体等。第三个数据库board,存放BoardID,type(板块种类),name(板块名),banzhu(板块斑竹姓名)
temprs=conn.execute("select count(ArticleID) from article")可以计算article表中的记录数,那么我在同一页面想显示各板块的斑竹姓名、板块名、板块中的文章数和回复数,sql语句应该怎么写?
...全文
28 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengdali 2003-04-02
  • 打赏
  • 举报
回复
你不要改我写的呀!你后面少了括号!!

temprs4=conn.execute("select count(*) from reply where articleid in
(select articleid from article where bid='"&你的版块变量&"')");
----------------------------------------------------------^^^^这个括号你少了!
mustapha 2003-04-01
  • 打赏
  • 举报
回复
前几句都对了,回复数不对:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'

[Microsoft][ODBC Microsoft Access 驱动程序] 丢失 ), ], 或项目 在查询表达式 'articleID in(select ArticleID from article where bid='1'' 中
我的代码:temprs=conn.execute("select count(*) from reply where articleID in(select ArticleID from article where bid='1'")
pengdali 2003-04-01
  • 打赏
  • 举报
回复
拆成几句


斑竹姓名:
temprs2=conn.execute("select banzhu from board where BoardID='"&你的版块变量&"'");

板块名:
temprs3=conn.execute("select name from board where BoardID='"&你的版块变量&"'");

板块中的文章数:
temprs4=conn.execute("select count(*) from article where bid='"&你的版块变量&"'");

回复数:
temprs4=conn.execute("select count(*) from reply where articleid in (select articleid from article where bid='"&你的版块变量&"')");
mustapha 2003-04-01
  • 打赏
  • 举报
回复
调试不成功,都是“缺少case”
我不是要放在一句里,拆成几句也行。
caiyunxia 2003-04-01
  • 打赏
  • 举报
回复
对楼上修改
SELECT banzhu, a.name, COUNT(b.articleid) , COUNT(c.ReplyID)
FROM board a left JOIN
articleb ON ON a.bid = c.bid
left JOIN
ReplyID c ON b.articleid = c.articleid
group by banzhu, a.name
yoki 2003-04-01
  • 打赏
  • 举报
回复
SELECT c.banzhu, c.name, COUNT(a.articleid) AS Expr1, COUNT(b.replayid) AS Expr2
FROM article a INNER JOIN
reply b ON a.articleid = b.articleid INNER JOIN
board c ON a.bid = c.bid
CrazyFor 2003-04-01
  • 打赏
  • 举报
回复
好象表名打错了,自己更正一下吧。
CrazyFor 2003-04-01
  • 打赏
  • 举报
回复
TRY:

select a.*,(select count(*) from atricle where bid=a.boardid) as 文章数,
(select count(*) from replyId left join atricle on replyid.articleid=atricle.articleid where articleid.bid=a.boardid) as 回复数,
from board a
CrazyFor 2003-04-01
  • 打赏
  • 举报
回复
你可分多个语句分别得到这些数据啊。

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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