我有一个库,D4
其中有5000多个表,表结构完全一样。
time,price,...我想达到这个目的,将这5000多个表中的数据,根据指定的时间,查询后组合成一个集合。就像5000多个表是一个表一样。不管是用什么方法都可以。

解决方案 »

  1.   

    用存储过程,进行循环,用union all 合成。
      

  2.   

    谢谢大家的回复。
    还有一个小请求。我通过union后,确实可以实现上面的需求。可是问题又来了,我不能区分哪些记录是哪个表里的数据。我希望在生成的集合里,增加一个字段,就是对应的表名称。有办法吗?
      

  3.   

    select a.*,tablename form tablename a union all
    select b.*,tablename from tablename b
    union all........
      

  4.   

    还有一个问题,SQL语句到底最长可以多长啊?我有5000多个表,本来一条SQL语句就很长了,5000多个表,一次连接起来,更长了。
    程序老是出错,具体原因还不清楚。我想难道是SQL语句太长了么?
      

  5.   


    你把SQL语句赋给一个变量,然后进行预处理,就不会长了。