多张表字段属性全部一样,怎样优雅地写脚本将所有表的select结果连起来?

有N个表,表明有个字符串'table1','table2','table3'.....'tableN'。这些表的字段全部一样,现在从这个N个表中取出相同的字段,sql应该怎么写?
select field1,field2
from table1---tableN
这个N个表示动态变化的,应该怎么办?谢谢

表的数量比较多,不能用手写一个个union

阅读 2.7k
4 个回答
union 

不能的话,只能
循环1-n 执行 sql1 - sqln
取出来数据追加到一个数组,就是要查n次 ,查出来数据最好加缓存

这个需求可以有好几种方式实现,但是具体用哪种要看使用场景:

  1. 通过MyBatis之类的数据库访问框架通过定义动态生成union了所有表的SQL
  2. 通过程序单独查询每一个表的数据,然后在内存里面整合
  3. 定义数据库存储过程进行处理(类似方法2,但是不用依赖另外的程序)

这还不简单吗

通过脚本语言写一个function 生成sql好了

不能手写,就代码生成

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题