本帖最后由 MyOracleX 于 2010-10-14 10:49:29 编辑

解决方案 »

  1.   


    select kq_user.num,kq_user.name,kq_day.day_time,kq_day.arrival_time,kq_user.deptName
    from kq_user left join kq_day on kq_user.num=kq_day.userid  
    where  kq_day.day_time>='20101001' and kq_day.day_time<='20101031' and kq_user.deptno!=8 group by kq_user.num order by arrival_time asc ;
    其他的条件是否不满足?
      

  2.   

    查下kq_day里day_time为20101013的数据的deptno;
    select distinct deptno from kq_day where day_time='20101013'
      

  3.   

    deptno不在kq_day表中,不过换成name查了,显示有46行结果
      

  4.   

    1、flush buffer cache2、rebuild index,或者重新分析一下index,然后再查
      

  5.   

    应该跟你kq_user 里面的数据有关,左连显示的数据应该是已kq_user为准
      

  6.   

    kq_user是用户的基本信息表,表结构是:num,name,deptname,deptno
    问题不应该出在这张表吧
      

  7.   

    你用mysql下有没有函数可以去掉时分秒的,加到对应的该字段下,然后再查询下,应该就可以了
      

  8.   

    刚又调试了一下,发现了一点头绪,如果20101012这天没有A的信息,在20101013这天有A的信息,查询结果就会显示A的信息,此时对应天数是20101013,问题好像是和连接查询有关
      

  9.   

    这个我也不清楚,平时我只用oracle,只是这个项目太小了才用Mysql
      

  10.   


    select kq_user.num,kq_user.name,kq_day.day_time,kq_day.arrival_time,kq_user.deptName
    from kq_da left join kq_user on kq_user.num=kq_day.userid
     where kq_day.day_time>='20101001' and kq_day.day_time<='20101031' and kq_user.deptno!=8 group by kq_user.num order by arrival_time asc