MySQL将多个行条目复制到另一个位置

时间:2015-11-29 10:08:44

标签: mysql copy sql-update row

我想将特定行和特定日期的大量值复制到同一行,但是另一个日期。我已经尝试了SQL UPDATE SET函数和两个不同的表,但SET只使用第一个值并将其复制到正确的日期列。

在此图片中,您会看到结果:
picture

这是我尝试过的一个问题:

UPDATE Test_tab t
SET t.testValue = 
    (SELECT testValue
    FROM Test_tab 
    WHERE testDate > '2015-10-01' AND testDate < '2015-10-31'
        LIMIT 1)
WHERE t.testDate  > '2015-11-01' AND t.testDate  < '2015-11-31'

1 个答案:

答案 0 :(得分:0)

您可以尝试这样

CREATE PROCEDURE your_proc()
BEGIN 
 DECLARE cont INTEGER; 
 SET cont = 0;
 SET max = SELECT count(*) FROM test_tab;
  WHILE cont < max DO 
   UPDATE Test_tab t SET t.testValue =(SELECT testValue FROM Test_tab WHERE testDate >'2015-10-01' AND testDate <'2015-10-31'
   LIMIT cont, 1) WHERE t.testDate > '2015-11-01' AND t.testDate < '2015-11-31'
   SET cont = cont + 1; 
  END WHILE; 
END;