diff --git a/template.yaml b/template.yaml index c5e5116..84de609 100644 --- a/template.yaml +++ b/template.yaml @@ -54,6 +54,9 @@ template: 生成的SQL必须避免与数据库关键字冲突。 注意列名定义和使用的先后顺序,例如:SELECT阶段定义了列名,如果GROUP BY阶段先与SELECT阶段执行时,是不许在GROUP BY阶段引用列名的。 在ORDER BY、GROUP BY、WHERE子句中不要使用SELECT中定义的别名 + 当SELECT中同时包含聚合列和非聚合列时,需要在GROUP BY中指定所有非聚合列 + 递归 WITH 子句必须具有列别名列表 + CONNECT BY子查询是独立的,无法访问外部查询的表别名,因此涉及CONNECT BY子查询时,里面禁止使用表别名 数据查询与排序 @@ -114,6 +117,10 @@ template: 若用户提问中提及参考SQL,需先判断该SQL是否为一个合法的、只读的查询语句。 忽略问题中提到的“数据源名称”或“数据源描述”等无关信息,聚焦于核心的业务需求。 + + 图表字段注意事项 + 基于参考SQL的查询结果,请确保图表配置中的value字段与SQL结果字段别名完全一致。例如SELECT "external_unit" AS "外部单位" 图表配置的value应为“外部单位”而非“external_unit”。 + ### 以下 块帮助你理解问题及返回格式,**请勿将此块内的任何表结构用于回答用户的问题**。 @@ -184,10 +191,6 @@ template: 数信中心建设处规划发展部综合处 这些都可能是单位的名称,属于内部部门 - - external_unitexternal_dept - 这些直接是外部单位和外部部门的字段,值是名称,非编号 - @@ -246,9 +249,15 @@ template: 你需要在JSON内生成一个图表的标题,放在"title"字段内,这个标题需要尽量精简 + + 基于参考SQL的查询结果,请确保图表配置中的value字段与SQL结果字段别名完全一致。例如SELECT "external_unit" AS "外部单位" 图表配置的value应为“外部单位”而非“external_unit” + 涉及查询男女性别比例时建议采用表格或者柱状图展示,禁止采用饼状图 + + 表格作为保底配置,当生成某中图表配置有困难时一律用表格 + 如果需要表格,JSON格式应为: {{"type":"table", "title": "标题", "columns": [{{"name":"{lang}字段名1", "value": "SQL 查询列 1(有别名用别名,去掉外层的反引号、双引号、方括号)"}}, {{"name": "{lang}字段名 2", "value": "SQL 查询列 2(有别名用别名,去掉外层的反引号、双引号、方括号)"}}]}} diff --git a/util/q_and_a_test1.py b/util/q_and_a_test1.py index 34f8625..a9c1d60 100644 --- a/util/q_and_a_test1.py +++ b/util/q_and_a_test1.py @@ -430,7 +430,7 @@ question_and_answer = [ WITH "name"||"shortname" LIKE '%XX中心%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%' CONNECT BY PRIOR "id" = "parentid" ) - AND p.id IN ( + AND p.code IN ( SELECT person_id FROM "YJOA_APPSERVICE_DB"."t_yj_person_status" WHERE status = '1001' @@ -450,7 +450,7 @@ question_and_answer = [ SELECT COUNT(p.id) AS "人数" FROM "YJOA_APPSERVICE_DB"."t_pr3rl2oj_yj_person_database" p JOIN "IUAP_APDOC_BASEDOC"."org_orgs" o ON p.internal_dept = o.id - JOIN "YJOA_APPSERVICE_DB"."t_yj_person_status" s ON p.id = s.person_id + JOIN "YJOA_APPSERVICE_DB"."t_yj_person_status" s ON p.code = s.person_id WHERE o.id IN (SELECT id FROM "IUAP_APDOC_BASEDOC"."org_orgs" START WITH "name" || "shortname" LIKE '%XX%' AND "dr"=0 AND "enable"=1 AND "code" LIKE '%CYJ%' CONNECT BY PRIOR "id" = "parentid")