Tencent/APIJSON

[Bug] inner join可以正常拼where条件,但是left join 不行

Opened this issue · 4 comments

APIJSON Version/APIJSON 版本号

6.1.0

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

mysql5.7

Environment/环境信息

- JDK/基础库: 1.8
- OS/系统: linux

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

[Bug] inner join可以正常拼where条件,但是left join 不行

Current Behavior/问题描述

inner join可以正常拼where条件,但是left join 不行

Expected Behavior/期望结果

No response

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

No response

除了 INNER JOIN, CROSS JOIN,其它 JOIN 都会单独 JOIN 副表对应的子查询,都必须把引用赋值关联的字段都返回,指定了 @column 则要写在对应值里面,例如 @column: "id,sex,name",如果不想最后再返回 id,可以再通过 join 键值对来指定外层 SELECT 字段:
"join": {
"</User/id@": {
"@column": "sex,name"
}
}

https://github.com/Tencent/APIJSON/blob/master/Document.md#3.2

D3701A56-7134-42eb-91F1-86F5A956079D WO F30133E4-E9EA-4295-B48A-BC06B4BF0E8E

我期望的不是ON后面拼,是在where里面拼,改变左连接主表的行数,而不是行数不变

@awanghong
普通条件写在表对象内就是 WHERE,写在 join 键值对 value 对象内就是 ON