diff --git a/src/entities/view/viewEmployeePosMaster.ts b/src/entities/view/viewEmployeePosMaster.ts index 9ba45ebf..7ab32fc9 100644 --- a/src/entities/view/viewEmployeePosMaster.ts +++ b/src/entities/view/viewEmployeePosMaster.ts @@ -97,8 +97,17 @@ import { ViewColumn, ViewEntity } from "typeorm"; ) pl2 ON pl1.profileId = pl2.profileId AND pl1.createdAt = pl2.maxDate ) AS profileLeave ON profileLeave.profileId = employeePosMaster.current_holderId - LEFT JOIN - profileAssessment ON profileAssessment.profileId = profileEmployee.id + LEFT JOIN ( + SELECT pa1.* + FROM profileAssessment pa1 + INNER JOIN ( + SELECT profileId, MAX(createdAt) AS maxDate + FROM profileAssessment + GROUP BY profileId + ) pa2 ON pa1.profileId = pa2.profileId + AND pa1.createdAt = pa2.maxDate + ) AS profileAssessment + ON profileAssessment.profileId = profileEmployee.id LEFT JOIN employeePosLevel ON profileEmployee.posLevelId = employeePosLevel.id LEFT JOIN diff --git a/src/entities/view/viewPosMaster.ts b/src/entities/view/viewPosMaster.ts index 930c5ff3..58d341d3 100644 --- a/src/entities/view/viewPosMaster.ts +++ b/src/entities/view/viewPosMaster.ts @@ -97,8 +97,17 @@ import { ViewColumn, ViewEntity } from "typeorm"; AND pl1.createdAt = pl2.maxDate ) AS profileLeave ON profileLeave.profileId = posMaster.current_holderId - LEFT JOIN - profileAssessment ON profileAssessment.profileId = profile.id + LEFT JOIN ( + SELECT pa1.* + FROM profileAssessment pa1 + INNER JOIN ( + SELECT profileId, MAX(createdAt) AS maxDate + FROM profileAssessment + GROUP BY profileId + ) pa2 ON pa1.profileId = pa2.profileId + AND pa1.createdAt = pa2.maxDate + ) AS profileAssessment + ON profileAssessment.profileId = profile.id LEFT JOIN posLevel ON profile.posLevelId = posLevel.id LEFT JOIN