请问个sql2000表连接的疑问

hjl13960 2010-10-20 12:21:14
假设我有两个表Category(CId,CName),Article(AId,CId,CName).两个表的关系是1对多。
我现在想查询所有的分类信息,与该分类所对应的文章数。
我是这样写的

select c.cid,c.cname, count(a.aid) from Category c inner join Article a on c.cid=a.cid order by c.cid,c.cname


但是这样的话会出现下面的错误。
---------------------------------------------------------------
服务器: 消息 8118,级别 16,状态 1,行 1
列 'c.CId' 在选择列表中无效,因为该列未包含在聚合函数中,并且没有 GROUP BY 子句。
服务器: 消息 8118,级别 16,状态 1,行 1
列 'c.CName' 在选择列表中无效,因为该列未包含在聚合函数中,并且没有 GROUP BY 子句。
---------------------------------------------------------------------------------

请问我要怎么改呢?谢谢了
...全文
57 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
就是just4 2010-10-20
  • 打赏
  • 举报
回复
select c.cid,c.cname, count(a.aid) from Category c inner join Article a on c.cid=a.cid order by c.cid,c.cname

有count肯定要加group by了,另order by要放在group by后面
playwarcraft 2010-10-20
  • 打赏
  • 举报
回复
select c.cid,c.cname, count(a.aid)
from Category c
inner join Article a
on c.cid=a.cid
group by c.cid,c.cname
order by c.cid,c.cname
liangCK 2010-10-20
  • 打赏
  • 举报
回复
group by c.cid,c.cname order by c.cid,c.cname

22,301

社区成员

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

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