以前项目中有一步获取默认值,是全部通过批量执行select查询的,建立了一个defautValue表(有code,field字段),和一个存储sql表,两个表通过一个code字段关联。就是通过code来获取哪些field需要对应哪些sql。有的需要根据传参数查询数据库,有的其实是定值,为了方便写成了select 常量 from dual。然后在set默认值时,就批量的查询,把值set到对应的field。现在给默认值表加了一个默认值字段,如果有默认值,那么code为空,如果没有,就要有code。这样用join连接时就会出现
以前就直接批量执行sql,然后得到一个Map就set到对应的field了。现在这么做怎么处理呢?
join的时候不要直接join表,而是join一个子查询,子查询中加上判断select if(code = null, defaultvalue, code) as code, ... from table
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。