|
@@ -4202,7 +4202,19 @@ namespace Emby.Server.Implementations.Data
|
|
|
{
|
|
|
int index = 0;
|
|
|
string includedTags = string.Join(',', query.IncludeInheritedTags.Select(_ => paramName + index++));
|
|
|
- whereClauses.Add("((select CleanValue from ItemValues where ItemId=Guid and Type=6 and cleanvalue in (" + includedTags + ")) is not null)");
|
|
|
+ // Episodes do not store inherit tags from their parents in the database, and the tag may be still required by the client.
|
|
|
+ // In addtion to the tags for the episodes themselves, we need to manually query its parent (the season)'s tags as well.
|
|
|
+ if (includeTypes.Length == 1 && includeTypes.FirstOrDefault() is BaseItemKind.Episode)
|
|
|
+ {
|
|
|
+ whereClauses.Add($"""
|
|
|
+ ((select CleanValue from ItemValues where ItemId=Guid and Type=6 and CleanValue in ({includedTags})) is not null
|
|
|
+ OR (select CleanValue from ItemValues where ItemId=ParentId and Type=6 and CleanValue in ({includedTags})) is not null)
|
|
|
+ """);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ whereClauses.Add("((select CleanValue from ItemValues where ItemId=Guid and Type=6 and cleanvalue in (" + includedTags + ")) is not null)");
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|