select count(fonumber)from (select fnumber [员工编号],fname[员工姓名],fid[身份证],fonumber[考勤编号] from t_emp t1 left join (select fonumber,foname from t_emptemp)t2 on t1.fname=t2.foname)
1.目的是统计数据集里的考勤编号有多少个非空记录..但是这样写有错误,想不明白
2.求另外一条语句,搜索上面的数据集里,找出考勤编号是null的对应的身份证.

解决方案 »

  1.   

    select count([考勤编号])--改成考勤编号
    from 
    (select fnumber [员工编号],fname [员工姓名],fid [身份证],fonumber [考勤编号] 
    from t_emp t1 left join (select fonumber,foname from t_emptemp)t2  on t1.fname=t2.foname)
      

  2.   

    select count([考勤编号])from 
    (select fnumber [员工编号],fname [员工姓名],fid [身份证],fonumber [考勤编号] 
    from t_emp t1 left join (select fonumber,foname from t_emptemp)t2  on t1.fname=t2.foname)t--加别名
    where [考勤编号] is not null
      

  3.   

    --第二个问题select [身份证] from 
    (select fnumber [员工编号],fname [员工姓名],fid [身份证],fonumber [考勤编号] 
    from t_emp t1 left join (select fonumber,foname from t_emptemp)t2  on t1.fname=t2.foname)t
    where [考勤编号] is  null 
      

  4.   


    select [身份证] from 
    (select fnumber [员工编号],fname [员工姓名],fid [身份证],fonumber [考勤编号] 
    from t_emp t1 left join (select fonumber,foname from t_emptemp)t2  on t1.fname=t2.foname)t
    where [考勤编号] is  null