SELECT
  a.logoid,
  a.trainingoid,
  a.employeeoid,
  a.lastDate,
  a.nextDueDate,
  a.fileName
  FROM dbo.OPERATOR_SOP_LOG_ENTRY AS a
  INNER JOIN
  (SELECT
  trainingoid,
  employeeoid,
  MAX(lastDate) AS mdate
  FROM  dbo.OPERATOR_SOP_LOG_ENTRY
  GROUP BY trainingoid, employeeoid) AS b
  ON a.trainingoid = b.trainingoid AND a.lastDate = b.mdate

解决方案 »

  1.   

    --取lastdate =按照trainingold和employeeoid分组后最大日期的相应数据SELECT  a.logoid ,
            a.trainingoid ,
            a.employeeoid ,
            a.lastDate ,
            a.nextDueDate ,
            a.fileName
    FROM    dbo.OPERATOR_SOP_LOG_ENTRY AS a
            INNER JOIN ( SELECT trainingoid ,
                                employeeoid ,
                                MAX(lastDate) AS mdate
                         FROM   dbo.OPERATOR_SOP_LOG_ENTRY
                         GROUP BY trainingoid ,
                                employeeoid 
                       ) AS b ON a.trainingoid = b.trainingoid  
                                 AND a.lastDate = b.mdate
      

  2.   

    按照trainingold和employeeoid分组是什么意思?
      

  3.   

    是在trainingoid分组后,再在组内按employeeoid分组?