diff --git a/sql/astock_kg_logic_views.sql b/sql/astock_kg_logic_views.sql index 746764b..d8dc05e 100644 --- a/sql/astock_kg_logic_views.sql +++ b/sql/astock_kg_logic_views.sql @@ -223,7 +223,14 @@ SELECT CASE r.beneficiary AS subject_name, CASE WHEN r.cluster_key LIKE 'Company:%' THEN substr(r.cluster_key, length('Company:') + 1) END AS ts_code, - CASE WHEN r.cluster_key LIKE 'Segment:%' + -- 双冒号那一支必须写在前面:双冒号的键同样满足单冒号的前缀匹配, + -- 顺序反了会截出一个多余的冒号。 + -- 双冒号 Segment:: 是 2026-09-04 起按投影环节做的评析,环节名与传导目标同一命名空间; + -- 单冒号 Segment: 是逐条论断聚簇出来的研报自由短语,在投影里未必查得到这个环节。 + -- scope 的判定不用改:双冒号同样满足 LIKE 'Segment:%',两者都归 segment。 + CASE WHEN r.cluster_key LIKE 'Segment::%' + THEN substr(r.cluster_key, length('Segment::') + 1) + WHEN r.cluster_key LIKE 'Segment:%' THEN substr(r.cluster_key, length('Segment:') + 1) END AS segment_name, r.comparison->>'leaning' AS leaning, r.comparison->'core_contradiction'->>'text' AS core_contradiction,