From adf3eb23812067eda36ae2fde3af217424256f01 Mon Sep 17 00:00:00 2001 From: Simpler1 Date: Fri, 19 Dec 2025 09:32:19 -0500 Subject: [PATCH] Fix(Filter): Handle events with multiple tags Fixes an error that occurred when running a named filter that returned events that contained more than one tag. Subquery returns more than 1 row --- scripts/ZoneMinder/lib/ZoneMinder/Filter.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/ZoneMinder/lib/ZoneMinder/Filter.pm b/scripts/ZoneMinder/lib/ZoneMinder/Filter.pm index b7fee879c..47c817fdc 100644 --- a/scripts/ZoneMinder/lib/ZoneMinder/Filter.pm +++ b/scripts/ZoneMinder/lib/ZoneMinder/Filter.pm @@ -165,7 +165,7 @@ sub Sql { if ( $term->{attr} eq 'AlarmedZoneId' ) { $term->{op} = 'EXISTS'; } elsif ( $term->{attr} eq 'Tags' ) { - $fields .= ', (SELECT Name FROM Tags WHERE Id IN (SELECT TagId FROM Events_Tags WHERE Events_Tags.EventId=E.Id)) As Tags'; + $fields .= ', (SELECT GROUP_CONCAT(Name) FROM Tags WHERE Id IN (SELECT TagId FROM Events_Tags WHERE Events_Tags.EventId=E.Id)) As Tags'; $self->{Sql} .= 'T.Id'; $from .= ' LEFT JOIN Events_Tags AS ET ON E.Id = ET.EventId LEFT JOIN Tags AS T ON T.Id = ET.TagId'; } elsif ( $term->{attr} =~ /^Monitor/ ) {