From 8f6637a6565698766dad92ce351a48d7bfc097fb Mon Sep 17 00:00:00 2001 From: Adisak Date: Tue, 25 Nov 2025 13:36:17 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B8=AD=E0=B8=B1=E0=B8=9E=E0=B9=80=E0=B8=94?= =?UTF-8?q?=E0=B8=97=20view=5Fpos=5Fmaster?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/entities/view/viewPosMaster.ts | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/entities/view/viewPosMaster.ts b/src/entities/view/viewPosMaster.ts index 58d341d3..c44aa2d6 100644 --- a/src/entities/view/viewPosMaster.ts +++ b/src/entities/view/viewPosMaster.ts @@ -78,14 +78,18 @@ import { ViewColumn, ViewEntity } from "typeorm"; LEFT JOIN posExecutive ON position.posExecutiveId = posExecutive.id LEFT JOIN ( - SELECT * - FROM profileDiscipline pd1 - WHERE pd1.date = ( - SELECT MAX(pd2.date) - FROM profileDiscipline pd2 - WHERE pd2.profileId = pd1.profileId - ) - ) AS profileDiscipline ON profileDiscipline.profileId = profile.id + SELECT * + FROM ( + SELECT + pd.*, + ROW_NUMBER() OVER ( + PARTITION BY profileId + ORDER BY date DESC, id DESC + ) AS rn + FROM profileDiscipline pd + ) t + WHERE rn = 1 + ) AS profileDiscipline ON profileDiscipline.profileId = profile.id LEFT JOIN ( SELECT pl1.* FROM profileLeave pl1