snarrymoon
snarrymoon
采纳率77.8%
2021-02-03 13:58

如何实现mysql多表查询?

5
已采纳

设定数据库中有多张表,表的名称设置为hst_yyyymm(yyyymm为年月),从这几个表中我要查询一条数据,但我不知道这条数据在哪张表中,具体的表名称也不知道,请问可以通过一条sql语句实现查询吗?或者通过java代码来实现吗?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

6条回答

  • storm1979 storm_huang 2月前

    如果yyyymm的值知道,可以用union all把结果集联合起来查询

    select * from hst_202001
    union all select * from hst_202002
    ........
    where ......
    点赞 3 评论 复制链接分享
  • qq_41056877 qq_41056877 2月前

    看你这个描述应该是使用了分库分表,可以了解一下具体使用了哪个中间件来进行分库分表,然后看一下语法。

    点赞 1 评论 复制链接分享
  • qq_31616567 消灭知识盲区 2月前

    可以看看这篇文章,讲了分库分表的
    https://blog.csdn.net/qq_31616567/article/details/113470163

    点赞 1 评论 复制链接分享
  • gxrj11 凡哥come 2月前

    这个问题说难也不难

    1、这应该是一个表按照时间被拆分成了多个表

    2、数据不多的情况下连表可以解决

    3、数据太多的话连这么多表会出问题的,还是综合考虑吧。

    点赞 1 评论 复制链接分享
  • Zzzz_zzzz_zz Zzzz_zzzz_zz 2月前

    sql就是把表都union all了,java就是你可以拼接表名的方式实现,把表名作为入参传进去。

    点赞 1 评论 复制链接分享
  • bill20100829 歇歇 2月前

    具体的表名称也不知道

    那么你知道是某年某月开始

    某月结束,那么可以用日期循环组成表名,在数据库查询表名是否存在

    存在则组成查询语句执行查询,

    点赞 1 评论 复制链接分享