Tencent / APIJSON

🏆 实时 零代码、全功能、强安全 ORM 库 🚀 后端接口和文档零代码,前端(客户端) 定制返回 JSON 的数据和结构 🏆 Real-Time coding-free, powerful and secure ORM 🚀 providing APIs and Docs without coding by Backend, and the returned JSON of API can be customized by Frontend(Client) users
http://apijson.cn
Other
17.27k stars 2.16k forks source link

app join查询当in () 主表的数据为空时,导致整个数据都返会空 #748

Closed gxmanito closed 1 month ago

gxmanito commented 3 months ago

Description

1722344497945 目前想到的方案是targetValueList为空时,默认添加一个值,最终SQL:select xxx from xxx in (0),只是这个方案会走一个无用查询,但是不至于导致最终结果都为空,不知道作者有没有更好的方案? image

TommyLemon commented 3 months ago

一般主表没返回结果,整个列表项都没意义,类似朋友圈发动态,没有动态内容(照片和文字都没有),只有发布者和评论,这种返回就没有意义。 特殊情况一定要可以在子类重写方法单独处理

gxmanito commented 3 months ago

https://github.com/Tencent/APIJSON/issues/748#issuecomment-2259471661 比如说用户和部门(假如用户可以不分配部门),我主表是用户,部门只是附加的属性,可有可无,当前页十条用户都没分配部门,我用app join不就是 dept where dept_id in ()了嘛,我想要的结果是十条用户信息正常显示,只是部门那一列空着,而不是连用户信息都不返回了

TommyLemon commented 3 months ago

用户表写在最上面作为主表,APP/LEFT JOIN 只是用 用户 来筛选 所属部门,而不是反过来