mysql查询所有的数据库中所有的表table1,table2,table3,table4,table5等很多表且表的格式是一样的,怎么用找出在某一时间d-c的值是大于一千的表的名字和data的值 ,  必须是同一时间下的差  还有怎么查询相同时间间隔内连续5次这种情况呢,还有就是要多表同时查询。希望给出明确答案啊,我新手啊,谢谢 比如表table1 中存在 09:38:00 323 2342 表table1 符合条件输出表table1 和date   的值  例如这是表table1    date表示时间 字段 c ,d下面都是数值
date                c               d
 09:35:00           245             524
 
09:36:00             234             42409:37:00            423              677
09:38:00              323            2342.......10:35:00              313            323
    10:36:00           323           452
10:37:00           432                 34210:38:00             532              344

解决方案 »

  1.   

    详细说明select * from (
    select 'a',* from t1
    union all
    select 'b',* from t2union all
    select 'c',* from t2
    ) a
    where d-c>1000 and date='2011-7-28'
      

  2.   

    刚才表和字段混了,麻烦你在看看现在这个表和字段,现在只有字段c,d了,现在要对多个表table1 table2table365 table456  进行查询,谢谢啊
      

  3.   

    select * from (
    select 'a',* from t1
    union all
    select 'b',* from t2
    union all
    select 'c',* from t365
    union all
    select 'c',* from t456
    ) a
    where d-c>1000 and date='2011-7-28'
      

  4.   

    呵呵, 没有办法,要么UNION,要么将所有表INSERT 1个表中,再查询
      

  5.   

    什么意思?
    如果是where d-c>1000,是可以的
      

  6.   

    举例表table1下date c d
     09:35:00 245 524
     
    09:36:00 234 42409:37:00 423 677
    09:38:00 323 2342
    09:39:00 333 5742
    09:40:00 343 2345
    09:41:00 323 2365
    09:42:00 323 4642
    .......10:35:00 313 323
        10:36:00 323 452
    10:37:00 432 34210:38:00 532 344比如说09:38:00到09:42:00这一段就是连续的五个差值大于壹仟,如果符合就找出这个表的名字,里面有好几百个表
      

  7.   

    举例表table1下date c d
     09:35:00 245 524
     
    09:36:00 234 42409:37:00 423 677
    09:38:00 323 2342
    09:39:00 333 5742
    09:40:00 343 2345
    09:41:00 323 2365
    09:42:00 323 4642
    .......10:35:00 313 323
        10:36:00 323 452
    10:37:00 432 34210:38:00 532 344table2date c d
     09:35:00 245 524
     
    09:36:00 234 42409:37:00 423 677
    09:38:00 323 2342
    09:39:00 333 5742
    09:40:00 343 2345
    09:41:00 323 2365
    09:42:00 323 4642
    .......10:35:00 313 323
        10:36:00 323 452
    10:37:00 432 34210:38:00 532 344比如说09:38:00到09:42:00这一段就是连续的五个差值大于壹仟,如果符合就找出这个表的名字,里面有好几百个表
      

  8.   

    教我在table1中查询就连续的五个差值大于壹仟好了啊
      

  9.   

    比较复杂,既要判断时间,又要判断差额,建议用程序来实现,示例(SP)
    DELIMITER $$USE `aa`$$DROP PROCEDURE IF EXISTS `lx`$$CREATE DEFINER=`root`@`localhost` PROCEDURE `lx`()
    BEGIN
    SET @a=0;
    SET @b=0;
    DROP TABLE IF EXISTS qt1;
    DROP TABLE IF EXISTS qt2;
    DROP TABLE IF EXISTS qt3;
    CREATE TABLE qt1 AS 
    SELECT *,@a:=@a+1 AS pm FROM tt1 a WHERE NOT EXISTS(SELECT 1 FROM tt1 WHERE TIMEDIFF(`date1`,a.`date1`)='00:01:00');
    CREATE TABLE qt2 AS 
    SELECT *,@b:=@b+1 AS pm FROM tt1 a WHERE NOT EXISTS(SELECT 1 FROM tt1 WHERE TIMEDIFF(`date1`,a.`date1`)='-00:01:00');
    SELECT b.date1,a.date1 INTO @ag,@ae FROM qt1 a INNER JOIN qt2 b ON a.pm=b.pm AND TIMEDIFF(a.`date1`,b.`date1`)>='00:05:00';
    CREATE TABLE qt3 AS 
    SELECT *,d-c AS ce FROM tt1 WHERE date1 BETWEEN @ag AND @ae;
    SELECT * FROM qt3 a WHERE EXISTS(SELECT 1 FROM tt1 WHERE TIMEDIFF(a.`date1`,`date1`)='00:01:00' AND ce>=1000);
    END$$DELIMITER ;
      

  10.   

    WWWWA大哥
    不好意思 ,加错分了,实在是不好意思啊,别的问题给你加了