当前位置:首页
开发技术指南» 文章正文
    引言:

    摘要: http://www.microsoft.com/ http://www.microsoft.com/china 进去看看 多点几个页面 除了msdn 好像都提示 : "很抱歉,microsoft.com 没有合乎您要求的网页。" 还有半个月前 打电话给微软咨询windowsxp的问题,他们问我的open license号码 给他们后 他们居然说系统有故障 不能查 让我......
 ·莫名其妙的怪问题    »显示摘要«
    摘要: 刚做了一个报名系统,access库,共有40个字段。 系统提交时有一个字段怎么都写不进,所有字段的代码写法都一样,为什么只有这个出问题呢? ......


如何写这样的sql

想在oracle实现这样的查询:通过两个表来查询,一个表是专业表,一个表是学生表。查询第一列为学校所有专业的名称,第二列至第五列为各专业每个年级的总人数,例:  
  专业名称             2002级学生总人数           2003级学生总人数             2004级学生总人数           2005级  
  哲学                           0                                           150                                     165                                   175  
  法学                         155                                           0                                       160                                   170  
  医学                         155                                           0                                       160                                   170  
  英语                         155                                           0                                       160                                   170  
  俄语                         155                                           0                                       160                                   170  
  这样的查询如何通过sql语句来实现?

NO.1   作者: duanzilin

select   subject_name   "专业名称",  
                sum(decode(grade,2002,1,0))   "2002级学生总人数",  
                sum(decode(grade,2003,1,0))   "2003级学生总人数",  
                sum(decode(grade,2004,1,0))   "2004级学生总人数",  
                sum(decode(grade,2005,1,0))   "2005级学生总人数"  
  from   专业表   a,学生表   b  
  where   a.subject_id   =   b.subject_id  
  group   by   a.subject_name

NO.2   作者: hevin

select   专业表.专业,T1.scount1   as   2002级学生总人数,T2.scount2   as   2003级学生总人数,  
                    T3.scount3   as   2004级学生总人数,T4.scount4   as   2005级学生总人数  
  from   专业表  
  left   join   (select   专业,count(1)   as   scount1   from   学生表   where   年级=2002   group   by   专业)   T1  
        on   专业表.专业     =   T1.专业  
  left   join   (select   专业,count(1)   as   scount2   from   学生表   where   年级=2003   group   by   专业)   T2  
        on   专业表.专业     =   T2.专业  
  left   join   (select   专业,count(1)   as   scount3   from   学生表   where   年级=2004   group   by   专业)   T3  
        on   专业表.专业     =   T3.专业  
  left   join   (select   专业,count(1)   as   scount4   from   学生表   where   年级=2005   group   by   专业)   T4  
        on   专业表.专业     =   T4.专业


 ·.net c#中如何比较两个日期    »显示摘要«
    摘要: 在.net c# web中如何比较两个日期大小,谢谢! ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE