0

我有两个包含员工信息的表,我想在这些表之间选择具有最新日期的记录。

Table1  
EmpNum      Name      StartDate      refrance  
1234        John      05Dec2009      999999    
1255        Carl      06May2003      454545  
1236        Smith     15Jan2011      889898

Table2  
EmpNum      Name      StartDate      refrance  
1234        John      08Feb2014      111111    
1255        Carl      25Jul2001      454545  
1236        Smith     15Jan2011      889898  

Expected output  
EmpNum      Name      StartDate      refrance  
1234        John      08Feb2014      111111    
1255        Carl      06May2003      454545  
1236        Smith     15Jan2011      889898

4

2 回答 2

1

像这样试试

SELECT EmpNum,Name,Max(StartDate),refrance 
FROM (
      SELECT * FROM Table1
      Union All
      SELECT * FROM Table2
      ) AS T
Group By EmpNum,Name
于 2014-02-27T06:10:45.843 回答
1
select 
  EmpNum, 
  Name,
  if(t1.startDate>t2.startDate,t1.startDate,t2.startDate) as maxDate,
  if(t1.startDate>t2.startDate,t1.refrance,t2.refrance) as refrance
from table1 t1
     join table2 t2 on t1.EmpNum=t2.EmpNum
于 2014-02-27T06:11:12.347 回答