From a55fd3d6d00d6215b84fec9fb0a46b9f6a18dc23 Mon Sep 17 00:00:00 2001 From: AdisakKanthawilang Date: Wed, 2 Jul 2025 14:38:48 +0700 Subject: [PATCH] update view pos master --- src/entities/view/viewEmployeePosMaster.ts | 13 +++++++++++-- src/entities/view/viewPosMaster.ts | 13 +++++++++++-- 2 files changed, 22 insertions(+), 4 deletions(-) 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