日期:2014-05-19  浏览次数:20519 次

最大值问题
两个表a,b
各有字段
a1,a2,a3,a4,a5
b1,b2,b3,b4,b5

a1,b1为主键,且a1=b1
b2为datetime类型

现在要查询返回a1,a2,a3,a4,a5,b2,b3,b4,b5
并且b2为最大值(即时间为最大值)的记录,返回值按照b3排序.这个语句怎么写?
谢谢!

------解决方案--------------------
a与b是1:n?
------解决方案--------------------
create table a
(
a1 char(6) not null PRIMARY KEY,
a2 varchar(10) ,
a3 varchar(10) ,
a4 varchar(10) ,
a5 varchar(10) )


create table b
(
b1 char(6) not null PRIMARY KEY,
b2 datetime ,
b3 int,
b4 varchar(10) ,
b5 varchar(10) )


insert into a
select '001201 ', '王三 ', '男 ', '员工 ', '大专 '
union all
select '001211 ', '张三 ', '男 ', '经理 ', '本科 '
union all
select '001231 ', '李丽 ', '女 ', '班长 ', '本科 '
union all
select '001241 ', '谷三 ', '男 ', '员工 ', '大专 '


insert into b
select '001201 ', '2007-06-03 ', '71 ', '拓展2 ', '拓展训练 '
union all
select '001211 ', '2007-06-03 ', '80 ', '拓展2 ', '拓展训练 '
union all
select '001231 ', '2007-06-01 ', '97 ', '拓展2 ', '拓展训练 '
union all
select '001241 ', '2005-03-09 ', '75 ', '拓展2 ', '拓展训练 '


select a1,a2,a3,a4,a5,b2,b3,b4,b5 from a,b where a.a1=b.b1 and b2=
(select max(b2) from b) order by b3

drop table a
drop table b