| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 511 人关注过本帖
标题:请大家帮助写个查询语句,万分感谢!
只看楼主 加入收藏
jesse006
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-8-27
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
请大家帮助写个查询语句,万分感谢!
请大家帮助,万分感谢!
有一个数据库,包含员工编号,姓名,部门,迟到日期,迟到分钟.
需要统计累计迟到超过4次或累计迟到时间总和大于20分钟的员工.
查询结果显示符合上面条件员工的每条记录,如果两个条件都满足就只出现一次.
员工编号    姓名    部门    迟到日期    迟到分钟
00001    张山    工程部    2013/8/7    5
00002    李四    生产      2013/8/7    1
00001    张山    工程部    2013/8/8    3  
00003    王五    生产      2013/8/8    4
00001    张山    工程部    2013/8/9    10
00002    李四    生产      2013/8/9    2
00001    张山    工程部    2013/8/10    2
00002    李四    生产      2013/8/10    1
00001    张山    工程部    2013/8/11    3
00002    李四    生产      2013/8/11    2
00001    张山    工程部    2013/8/12    5
00002    李四    生产      2013/8/12    1

要求查询结果为:
员工编号    姓名    部门    迟到日期    迟到分钟
00001    张山    工程部    2013/8/7    5
00001    张山    工程部    2013/8/8    3
00001    张山    工程部    2013/8/9    10
00001    张山    工程部    2013/8/10    2
00001    张山    工程部    2013/8/11    3
00001    张山    工程部    2013/8/12    5
员工编号    姓名    部门    迟到日期    迟到分钟
00002    李四    生产      2013/8/7    1
00002    李四    生产      2013/8/9    2
00002    李四    生产      2013/8/10    1
00002    李四    生产      2013/8/11    2
00002    李四    生产      2013/8/12    1


先谢谢大家!
搜索更多相关主题的帖子: 数据库 工程部 记录 统计 姓名 
2013-08-27 16:05
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:10 
sele * from 数据库 where 员工编号 in (sele * from 员工编号 where sum(iif(!empt(迟到日期),1,0))>4 or sum(迟到分钟
)>20 grou by 员工编号) order by 员工编号

没有数据,没经测试。
2013-08-27 17:08
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:10 
SELECT * ;
   FROM 表文件 ;
   WHERE 员工编号 IN ;
      (SELECT 员工编号 FROM 表文件 ;
          GROUP BY 1 ;
             HAVING COUNT(迟到日期)>4 OR ;
                    SUM(迟到分钟)>20) ;
   ORDER BY 员工编号

未经测试,你先试用吧。顺便说明一下:这条命令是假设该表文件里全部是有迟到的人,且迟到日期和迟到分钟也已经记录。


[ 本帖最后由 taifu945 于 2013-8-27 17:22 编辑 ]
2013-08-27 17:20
jesse006
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-8-27
收藏
得分:0 
非常感谢2楼和3楼的朋友,
按照两位朋友写的语句,测试成功.
语句如下:
SELE * FROM 数据库 ;
        WHERE 迟到日期>= 日期1 and 迟到日期<= 日期2 and 员工编号IN;
         (SELE 员工编号 FROM 数据库;
         WHERE 迟到日期>= 日期1 and 迟到日期<= 日期2 and 迟到分钟>0 ;
         HAVING SUM(迟到分钟)>20 or COUNT(迟到日期)>4 GROUP BY 员工编号 );
         ORDER BY 员工编号   

再次感谢两位朋友!!!




2013-08-28 09:17
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:0 
成功就好。学好SELECT-SQL命令对你查询统计,以及设计数据表的理念会很有帮助。
2013-08-28 13:53
jesse006
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-8-27
收藏
得分:0 
再次感谢TAIFU945版主!

2013-08-28 14:35
快速回复:请大家帮助写个查询语句,万分感谢!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020281 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved