查询未返回预期结果

时间:2017-07-15 04:48:09

标签: mysql sql

我是sql的新手,我正在运行下面的查询

 var Pprofile = "SELECT A.POLICY_PROFILE as POLICY_PROFILE,A.STATUS_CODE1,A.EFF_DT, A.END_EFF_DT,E.OTHER_STRING10,E.DISPLAY_EMPLOYEE FROM  EMPLOYEE E , ASGNMT A " +
    "WHERE E.DISPLAY_EMPLOYEE = A.LD1 AND " + 
"POLICY_PROFILE = 'LOCAL_51' AND A.STATUS_CODE1 = 'A' " +
    " ORDER BY E.DISPLAY_EMPLOYEE, A.EFF_DT ASC"; 

问题在于返回所有员工的所有不同“生效日期记录”,如图所示。我只想获得为每个不同用户创建的最后生效日期记录。 query result

我需要帮助我的查询可能写得更好,但最后我想得到最后一个生效日期记录,不是全部。

谢谢!

1 个答案:

答案 0 :(得分:0)

像这样的东西

drop table if exists t;
create table t(id int, eff_dt date);
insert into t values
(1,'2017-01-01'),(1,'2017-01-01'),(1,'2017-02-01'),
(2,'2017-01-01');

select t.*
from t
where t.eff_dt = (select max(t1.eff_dt) from t t1 where t1.id = t.id);