查询要求为可统计离退休教授占教授的比例select sum(case when 是否离退休='是' then 1 end)/sum(case when 是否离退休='不是' then 1 end) 离退休教授占教授的比例 from 教师详细情况表 where 是否教授='是'离退休教授占全校老师的比例select sum(case when 是否教授='是' and 是否离退休='不是' then 1 end)/sum(1) 离退休教授占全校老师的比例 from 教师详细情况表该老师(包括教授和讲师)的全部详细情况列表select * from 教师详细情况表 a left join 教授详细情况表 b on a.编号=b.编号全校老师的人数select sum(1) 全校老师的人数 from 教授详细情况表该院系老师数select sum(1) 该院系老师数 from 教授详细情况表 where 院系编码='XXX'院系教授所占比例等select sum(case when 是否教授='是' then 1 end)/sum(1) 院系教授所占比例 from 教师详细情况表 where 院系编码='XXX'

解决方案 »

  1.   

    还想问问,象毕业时间这样的字段是用“char”方便,还是用“datetime”好?
      

  2.   

    身份证号在MSSQL中用什么类型?
      

  3.   

    身份证号用varchar 就可以了
      

  4.   

    happydreamer用身份证号做ID不好吗?为什么?
      

  5.   

    pengdali(大力 V2.0)同志的第1条SQL语句怎么执行不了?
    错误报告为:
        服务器: 消息 207,级别 16,状态 3,行 1
        列名 '是否离退休' 无效。
      

  6.   

    pengdali(大力 V2.0)同志的第2条SQL语句怎么执行不了?请大家帮忙看看是什么问题,谢谢了先离退休教授占全校老师的比例select sum(case when 是否教授='是' and 是否离退休='不是' then 1 end)/sum(1) 离退休教授占全校老师的比例 from 教师详细情况表执行以后错误报告为:
        服务器: 消息 207,级别 16,状态 3,行 1
        列名 '是否离退休' 无效。
      

  7.   

    lifeforu(苍白到底) :我的确没看懂,你知道能说一下吗?离退休教授占全校老师的比例怎么查?谢谢大家
      

  8.   

    select 1.0*sum(case when 是否教授='是' and 是否离退休='不是' then 1 end)/sum(1) 离退休教授占全校老师的比例 from 教师详细情况表
    正确
      

  9.   

    1、教师详细情况表
    姓名  身份证  院系编码  毕业时间  从事专业  毕业院校  是否教授 是否离退休
    2、教授详细情况表 
    姓名  职称取得时间  是否离退休  证书编号
    这样的表结构

    select 1.0*sum(case when 是否教授='是' and 是否离退休='不是' then 1 end)/sum(1) 离退休教授占全校老师的比例 from 教师详细情况表
    不会出错的