APIJSON icon indicating copy to clipboard operation
APIJSON copied to clipboard

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

Open awanghong opened this issue 2 years ago • 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

awanghong avatar Dec 15 '23 08:12 awanghong

8D00E493-CD89-41f0-9014-FE062A799055 F59B969A-12B2-4a5a-B212-0123F96F2DA6

awanghong avatar Dec 15 '23 08:12 awanghong

除了 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

TommyLemon avatar Dec 15 '23 16:12 TommyLemon

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

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

awanghong avatar Dec 18 '23 04:12 awanghong

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

TommyLemon avatar Dec 19 '23 13:12 TommyLemon