diff --git a/backend/app/api/v1/features.py b/backend/app/api/v1/features.py index 6fd294e..cab639d 100644 --- a/backend/app/api/v1/features.py +++ b/backend/app/api/v1/features.py @@ -206,7 +206,7 @@ async def _load_filter_options(db: AsyncSession) -> dict: # 3. nlm_subsets(单次 JOIN + COUNT FILTER,代替 8 次独立查询) # 注:code 来自上方 NLM_SUBSET_LABELS 硬编码常量,无注入风险 subset_filter_cols = ", ".join( - f'COUNT(*) FILTER (WHERE j.nlm_subsets @> ARRAY[\'{code}\']) AS "{code}"' + f'COUNT(*) FILTER (WHERE j.nlm_subsets @> ARRAY[\'{code}\']::varchar[]) AS "{code}"' for code in NLM_SUBSET_LABELS ) subset_row = (await db.execute(text(f"""