Tencent/APIJSON

[Bug] join 关键字 在 count 分页的时候,会报关联的子表的字段找不到

Open

#824 opened on Jun 26, 2025

View on GitHub
 (14 comments) (0 reactions) (0 assignees)Java (17,967 stars) (2,229 forks)batch import
Bug 漏洞Enhancement 增强JOIN 连表查询PostgreSQLQuestion 使用问题help wanted

Description

APIJSON Version/APIJSON 版本号

7.5.5

Database Type & Version/数据库类型及版本号

PostgreSQL 17.3

Environment/环境信息

- JDK/基础库: 17
- OS/系统: window11

APIAuto Screenshots/APIAuto 请求与结果完整截屏

1

Current Behavior/问题描述

{
    "@schema": "warehose",
    "[]": {
        "Inventory": {},
        "query": 2,
        "count": 10,
        "page": 0,
        "join": "</Location_info/code@,</Warehose_info/id@",
        "Location_info": {
            "code@": "/Inventory/location_code"
        },
        "Warehose_info": {
            "id@": "/Location_info/warehouse_id"
        }
    },
    "@explain": true
}

如果"query": 0 ,查询没问题,

分页count 生成的,
已生成 1 条 SQL
execute  startTime = 1750920200358
database = ; schema = warehose; sql = 
SELECT count(*) AS "count" FROM "warehose"."inventory" AS "Inventory"  
   LEFT JOIN ( SELECT "code" FROM "warehose"."location_info" )  AS "Location_info" ON "Location_info"."code" = "Inventory"."location_code"  
   LEFT JOIN ( SELECT "id" FROM "warehose"."warehose_info" )  AS "Warehose_info" ON "Warehose_info"."id" = "Location_info"."warehouse_id"  

这里限制只能是 SELECT "code" FROM "warehose"."location_info"  code了,这个count sql会运行不通过。

Expected Behavior/期望结果

有没有另外一种访问可以通过count

Any additional comments?/其它补充说明?

Contributor guide