日期:2014-05-16  浏览次数:20772 次

sql查询多个表中某字段最大的一条记录,在线等。
table1
id data name
1 20120907 Brian
2 20120903 Jediel

table2
id data name
1 20120603 Sarah
2 20110403 Jarush


table3
id data name
1 20110603 Sarah
2 20100403 Jarush


三个表的结构都一样,如何整合三个表的数据,同时找出 data字段的最大值的一条数据, 就是demo数据中的:
table1 id = 1的那条记录最大。如何写?

------解决方案--------------------
我只能用select max(table1.data),max(table2.data),max(table3.data) from table1,table2,table3;

对有些SQL语句还没掌握,现在只能这样写,可以从这三个数中取出最大值,MYSQL里应该有这函数,只是我不知道。。。
------解决方案--------------------
用MERGE 存储引擎.把这3张表结果集整合到一起,再max(date);

或则用子查询:

 select max(data) from (
select * from table1
union all 
select * from table2
union all 
select * from table3
) tb