SQL

来源:互联网 发布:led屏幕控制软件 编辑:程序博客网 时间:2024/06/07 13:44

1.表1
员工id 员工工资 月份
 123 2000    2
 123 4000    8
 123 5000    7
 123 8000   12
 111 3000    4
 111 4000    8
 111 5000    7
 111 8000   12

表2
员工id 员工姓名
123    王二
111   张三


得到下列结果(最低工资信息)
员工id 员工工资 月份 员工姓名
 123 2000 2 王二
 111 3000 4 张三
SQL1:select a.eid,a.em,b.mm,c.ename from (select eid,min(em) as em from #1 group by eid) a ,#1 b,#2 c
where a.eid=b.eid and b.eid=c.eid and a.em=b.em

select b.eid,b.em,b.mm,c.ename from
(select eid,min(em) as em from #1 group by eid) a inner join #1 b on a.eid=b.eid and a.em=b.em
inner join #2 c on a.eid=c.eid

2.日期            天数
20110101        0.5
20110102        1
得到在10.1至10.2日之间的天数和,也就是要得到1.5

SQL:slect sum(cast(天数 as float)) from 表 where 日期 between A and B  (用sum(cast(天数 as decimal))计算不出后面的小数)

*float与decimal的区别?