职工号 姓名 缺勤时间 缺勤天数 缺勤类型 请假人
1 李华 2007-02-03 00:00:00.000 3 1 1
2 张敏 2007-02-12 00:00:00.000 2 2 3
3 付丽 2007-03-03 00:00:00.000 5 3 NULL
4 张晓华 2007-03-10 00:00:00.000 2 1 1
5 邓刚 2007-03-16 00:00:00.000 1 2 5要求1、列出缺勤类型为1的员工中缺勤天数最多的员工的姓名
2、列出缺勤类型及每种类型中缺勤员工的信息,若没有该类型的缺勤员工则只列出该种缺勤类型
谢谢帮忙了~~~~顺便 告诉一下 这类题的主要思想是什么~~~
1 李华 2007-02-03 00:00:00.000 3 1 1
2 张敏 2007-02-12 00:00:00.000 2 2 3
3 付丽 2007-03-03 00:00:00.000 5 3 NULL
4 张晓华 2007-03-10 00:00:00.000 2 1 1
5 邓刚 2007-03-16 00:00:00.000 1 2 5要求1、列出缺勤类型为1的员工中缺勤天数最多的员工的姓名
2、列出缺勤类型及每种类型中缺勤员工的信息,若没有该类型的缺勤员工则只列出该种缺勤类型
谢谢帮忙了~~~~顺便 告诉一下 这类题的主要思想是什么~~~
解决方案 »
- 查询问题?
- 求讲中文版本的sql2000存储过程的书籍!
- 数据库服务器(MSSQL Server)无法启动了。太奇怪了(.ldf和.mdf备份出来每次恢复都数据不同),有高手能解决吗
- 求一SQL语句,或SQL函数
- 请问怎么样把位于两个数据库中相同名字的表的某一个字段的值进行复制。谢谢!
- 急:現在要程序實現從SQL SERVER到ACCESS的數據導入,怎麼實現呢?
- 这条sql语句怎么改写,能提高性能!!!!!!!!!!!!!!!!!!!!!
- [急]SqlBulkCopy 效率问题
- 一个sql问题
- 精华帖投搞:VFP访问外部数据源的几种方法?
- 3表查询,再次问,
- MySQL5.1内表转到MS SQL,表结构应如何设置?
-------------
李华 (1 行受影响)
*/
---------------------------------------------------------------
-- DESIGNER :happycell188(喜喜)
-- QQ :584738179
-- Development Tool :Microsoft Visual C++ 6.0 C Language
-- FUNCTION :CONVERT DATA TO T-SQL
---------------------------------------------------------------
-- Microsoft SQL Server 2005
-- Developer Edition on Microsoft Windows XP [版本 5.1.2600]
---------------------------------------------------------------
---------------------------------------------------------------use test
go
if object_id('test.dbo.tb') is not null drop table tb
-- 创建数据表
create table tb
(
职工号 int,
姓名 char(7),
缺勤时间 datetime,
缺勤天数 int,
缺勤类型 int,
请假人 int
)
go
--插入测试数据
insert into tb select 1,'李华','2007-02-03 00:00:00.000',3,1,1
union all select 2,'张敏','2007-02-12 00:00:00.000',2,2,3
union all select 3,'付丽','2007-03-03 00:00:00.000',5,3,NULL
union all select 4,'张晓华','2007-03-10 00:00:00.000',2,1,1
union all select 5,'邓刚','2007-03-16 00:00:00.000',1,2,5
go
--代码实现select top 1 姓名 from tb where 缺勤类型=1 order by 缺勤天数 desc/*测试结果姓名
-------------
李华 (1 行受影响)
*/'貌似是这样的,但的确没有什么实际意义!'select tt.缺勤类型,t.职工号,姓名,缺勤时间,缺勤天数,请假人
from tb t right join (
select * from (select distinct 职工号 from tb)a
cross join (select distinct 缺勤类型 from tb)b )tt
on t.职工号=tt.职工号 and t.缺勤类型=tt.缺勤类型/*测试结果缺勤类型 职工号 姓名 缺勤时间 缺勤天数 请假人
----------------------------------------------------------------------
1 1 李华 2007-02-03 00:00:00.000 3 1
1 NULL NULL NULL NULL NULL
1 NULL NULL NULL NULL NULL
1 4 张晓华 2007-03-10 00:00:00.000 2 1
1 NULL NULL NULL NULL NULL
2 NULL NULL NULL NULL NULL
2 2 张敏 2007-02-12 00:00:00.000 2 3
2 NULL NULL NULL NULL NULL
2 NULL NULL NULL NULL NULL
2 5 邓刚 2007-03-16 00:00:00.000 1 5
3 NULL NULL NULL NULL NULL
3 NULL NULL NULL NULL NULL
3 3 付丽 2007-03-03 00:00:00.000 5 NULL
3 NULL NULL NULL NULL NULL
3 NULL NULL NULL NULL NULL(15 行受影响)
*/