请问个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 子句。
---------------------------------------------------------------------------------

请问我要怎么改呢?谢谢了
...全文
31 4 点赞 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
就是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
  • 打赏
  • 举报
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2010-10-20 12:21
社区公告
暂无公告