CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

急,求一统计sql语句建视图

楼主liuke6172(名扬)2005-11-25 21:21:35 在 MS-SQL Server / 基础类 提问

table   stu   有字段    
        sid(学号),courseID(课程编号),ispg(是否评该门课)    
        _____________记录有  
        sid         courseID       ispg  
        0001       0001                 1  
        0001       0002                 0  
        0001       0003                 1  
        0002       0002                 1  
        0002       0004                 0  
  ----------------------------  
  要建立的视图  
        sid(学号)       sumCourse(选了多少课程)   sumPG(评了多少课程   )   即  
  ------------------结果  
        sid       sumCourse       sumPG  
        0001         3                     2  
        0002         2                     1  
  -----------------------  
  请问该怎么写sql语句啊  
  问题点数:20、回复次数:8Top

1 楼yongwin(最后一个ID)回复于 2005-11-25 21:59:51 得分 4

create   view   名子  
  as  
  select   sid,count(*)   as   sumcourse,sum(case   ispg   when   1   then   1   else   0   end)as   sumPG  
  from   @t  
  group   by   sidTop

2 楼yongwin(最后一个ID)回复于 2005-11-25 22:12:40 得分 0

不好意思刚才那个太冲忙了,做的不是很全,用这个吧:  
  测试环境:  
  ---------------------------------  
  create     table   tt(sid   char(4),courseID   char(4),ispg   int)  
  insert   tt   values('001','001',1)  
  insert   tt   values('001','002',0)  
  insert   tt   values('001','003',1)  
  insert   tt   values('002','002',1)  
  insert   tt   values('002','004',0)  
  go  
  create   view   aa  
  as  
  select   sid,count(*)   as   sumcourse,sum(case   ispg   when   1   then   1   else   0   end)as   sumPG  
  from   tt  
  group   by   sid  
  go  
  select   *   from   aa  
  drop   view   aa  
  drop   table   ttTop

3 楼ReViSion(和尚)回复于 2005-11-25 22:23:16 得分 4

select   sid,count(courseID),sum(ispg)  
  from   stu    
  group   by   sidTop

4 楼ppact(天下有雪)回复于 2005-11-25 23:53:45 得分 4

select   sid,count(coruseID),sum(ispg)  
  from   stu  
  group   by   sidTop

5 楼lxzm1001(*~悠悠蓝星梦~*)回复于 2005-11-26 00:12:14 得分 4

select   sid,count(courseid)as   sumcourse,sum(ispg)   as   sumpg   from   tt   group   by   sidTop

6 楼wangkenping(找有感觉的妹妹)回复于 2005-11-26 08:27:53 得分 4

create   view   v_stu  
  as  
  select   sid,count(*)   as   sumcourse,sum(case   ispg)as   sumPG  
  from   stu  
  group   by   sid  
  go  
   
  select   *   from   v_stuTop

7 楼liuke6172(名扬)回复于 2005-11-26 08:37:32 得分 0

问题解决了  
  ----谢谢yongwin(最后一个ID)大哥  
  因为只有你的思想是对的  
  但是你的还有一点问题  
  改成  
    select   sid,count(*)   as   sumcourse,sum(case   ispg   when   1   then   1   end)as   sumPG  
    from   stu   group   by   sid  
  就没问题了  
  -----------------  
  谢谢各位,马上结帖Top

8 楼liuke6172(名扬)回复于 2005-11-26 08:38:50 得分 0

不对  
  是大家都对  
  我错了  
  结帖Top

相关问题

  • ■■■■求SQL语句 选择表 月统计 创建视图■■■■
  • 求一视图SQL语句
  • 求一视图SQL语句
  • 统计sql语句
  • 怎样用sql语句创建视图?
  • 建立视图的SQL语句问题?
  • 怎么用sql语句查看视图的创建语句?
  • 求SQL统计语句…
  • 求统计的SQL语句
  • 统计问题 SQL语句

关键词

  • 课程
  • ispg
  • sumcourse
  • sid
  • courseid
  • inserttt values

得分解答快速导航

  • 帖主:liuke6172
  • yongwin
  • ReViSion
  • ppact
  • lxzm1001
  • wangkenping

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo