APIJSON
APIJSON copied to clipboard
[Bug] 多表联查的问题
APIJSON Version/APIJSON 版本号
6.2.0
Database Type & Version/数据库类型及版本号
MySql 5.7
Environment/环境信息
- JDK/基础库: 17
- OS/系统: Windows 11
APIAuto Screenshots/APIAuto 请求与结果完整截屏
有A、B两张表,我想实现 select A.,B. from A left join A.id = B.id where A.state=1 and B.state=1 ,请问如何实现啊!
Current Behavior/问题描述
有A、B两张表,我想实现
select A.*,B.* from A
left join A on A.id = B.id
where A.state=1 and B.state=1 ,
请问如何实现啊!
现在使用left join 在左表上加查询条件,条件一直在子表里面
select A.*,C.* from A
left join (select B.* from B where B.state=1) as C on A.id = C.id
where A.state=1
这样次查询条件,无法排除B表的条件
Expected Behavior/期望结果
期望使用jion < 表查询时能实现如下Sql
select A.*,B.* from A
left join A on A.id = B.id
where A.state=1 and B.state=1
Any additional comments?/其它补充说明?
No response
结果不一样吗?提前过滤性能还更好。 如果非要把副表 B 的条件后置处理,也可以放到 JOIN ON 上 把 B 的条件条件放到 ON 上
"join":{
"</B":{
"state":1
}
}
https://github.com/Tencent/APIJSON/blob/master/Document.md#32-%E5%8A%9F%E8%83%BD%E7%AC%A6
select A.,B. from A left join A on A.id = B.id where A.state=1 and B.state=1 条件后置,这个条件可以过滤,join后的结果集。很有用的。特别是 页面有多个条件需要过滤的时候。