From 8f079324b267efe78f122576fc1a066d90cbf378 Mon Sep 17 00:00:00 2001 From: loganb Date: Thu, 10 Sep 2026 09:29:07 -0700 Subject: [PATCH] Rewrite to remove dupes --- .../queries/study/demographicsAssignedVet.sql | 33 ++++++++++++------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/onprc_ehr/resources/queries/study/demographicsAssignedVet.sql b/onprc_ehr/resources/queries/study/demographicsAssignedVet.sql index 61727ec5c..15cbbfc57 100644 --- a/onprc_ehr/resources/queries/study/demographicsAssignedVet.sql +++ b/onprc_ehr/resources/queries/study/demographicsAssignedVet.sql @@ -6,20 +6,31 @@ study.demographicsAssignedVet result in additional rows per animal if they're distinct. */ -SELECT +WITH MinRule AS ( + SELECT Id, MIN(matchedRule) AS MinMatchedRule + FROM vetAssignment_filter + GROUP BY Id +), + VetCaseData AS ( + SELECT + Id, + AssignedVet, + GROUP_CONCAT(DISTINCT ActiveMasterProblems, ', ') AS GroupedMasterProblems -- DISTINCT prevents duplicate master problems if dual-assigned + FROM vetAssignment_filter + WHERE matchedRule = 0 + GROUP BY Id, AssignedVet + ) +SELECT DISTINCT -- DISTINCT prevents duplicate rows f.Id, f.AssignedVet, f.AssignmentType, - GROUP_CONCAT( - CASE WHEN f.matchedRule = 0 THEN f.ActiveMasterProblems ELSE NULL END, - ', ' - ) AS MasterProblems, + v.GroupedMasterProblems AS MasterProblems, f.Area, f.Room FROM vetAssignment_filter f -WHERE f.matchedRule = ( - SELECT min(matchedRule) - FROM vetAssignment_filter sub - WHERE sub.Id = f.Id -) -GROUP BY f.Id, f.AssignedVet, f.AssignmentType, f.Area, f.Room \ No newline at end of file + JOIN MinRule m + ON m.Id = f.Id + AND m.MinMatchedRule = f.matchedRule + LEFT JOIN VetCaseData v + ON v.Id = f.Id + AND v.AssignedVet = f.AssignedVet \ No newline at end of file