我觉得比较复杂的一个查询 学生选课系统中,有些课没选,如果我要查询课程和相应课程的选课的人数,有的是0,怎么显示呢???指教!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 结构就是下面这样:course(cno,cname)student(sno,sname,sex,sage)sc(sno,cno,grade) --这样?select cname,人数=isnull(cnt,0)from course a left join (select cno,cnt=count(*) from sc group by cno) b on a.cno=b.cno select a.cname,isnull(count(sno),0) as 选课的人数from sc cleft join student bon c.sno=b.snoleft join course aon a.cno,=c.cno, ---修改select a.cname,isnull(count(b.sno),0) as 选课的人数from sc cleft join student bon c.sno=b.snoleft join course aon a.cno,=c.cno 这样写应该可以:select cno as 课程号,count(sno)选课人数from scgroup by cno select m.*, isnull((select count(1) from sc n where cno = m.cno) , 0 ) 选课人数from course m 求一条查询语句 MSDE安装故障 我把INSERT和UPDATE两个语句一次执行了,然后select出错 请教:如果SQL语句中使用的变量含有“'”,请问如何处理? sqlserver 2005导出数据出现异常 100分 --有几道简单的问题搞不清楚希望帮助刚学SQL SEVER 500分求一个查询的问题已解决!请 txlicenhe(马可) realgz(realgz)等来领分!! 为啥我的字段长度不够? 应该怎么插入 求助 XML查询 如何返回yyyyMMddhhmm日期格式? 附加数据库的时候总是出现这样的错误
course(cno,cname)
student(sno,sname,sex,sage)
sc(sno,cno,grade)
--这样?
select cname,人数=isnull(cnt,0)
from course a left join
(select cno,cnt=count(*) from sc group by cno) b on a.cno=b.cno
a.cname,isnull(count(sno),0) as 选课的人数
from
sc c
left join
student b
on
c.sno=b.sno
left join
course a
on
a.cno,=c.cno,
select
a.cname,isnull(count(b.sno),0) as 选课的人数
from
sc c
left join
student b
on
c.sno=b.sno
left join
course a
on
a.cno,=c.cno
select cno as 课程号,count(sno)选课人数
from sc
group by cno
isnull((select count(1) from sc n where cno = m.cno) , 0 ) 选课人数
from course m