Tencent/APIJSON

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

Open

#824 aberto em 26 de jun. de 2025

Ver no GitHub
 (14 comments) (0 reactions) (0 assignees)Java (2.229 forks)batch import
Bug 漏洞Enhancement 增强JOIN 连表查询PostgreSQLQuestion 使用问题help wanted

Métricas do repositório

Stars
 (17.967 stars)
Métricas de merge de PR
 (Mesclagem média 4h 34m) (1 fundiu PR em 30d)

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?/其它补充说明?

Guia do colaborador