如何计算其他列和另一个表的日期?

时间:2014-11-03 21:31:50

标签: mysql

我有两张桌子:

表1:

|| *handtool_id* || *maintenance_interval_value* || *unit_unit_id* || *handtool_last_date_of_maintenance* || *handtool_next_date_of_maintenance* ||
||             1 ||                            1 ||              5 ||                          2014-11-07 ||                                     ||
||             2 ||                            1 ||              6 ||                          2014-11-07 ||                                     ||
||             3 ||                            4 ||              4 ||                          2014-11-07 ||                                     ||

表2:

|| *unit_id* || *unit_name* || *unit_value* || *unit_parent_id* ||
||         1 || Minute      ||            1 ||                1 ||
||         2 || Hour        ||           60 ||                1 ||
||         3 || Day         ||         1440 ||                1 ||
||         4 || Week        ||        10080 ||                1 ||
||         5 || Month       ||        32767 ||                1 ||
||         6 || Year        ||       525949 ||                1 ||

maintenance_interval_value unit_unit_id 计算 handtool_next_date_of_maintenance 的正确语法是什么?谢谢

2 个答案:

答案 0 :(得分:0)

无论何时插入B,都要插入A.这是一个很好的MySQL触发器。我假设web_content_id是自动增量。

DELIMITER //

CREATE TRIGGER new_language_id
AFTER INSERT ON B
FOR EACH ROW
BEGIN
    INSERT INTO A (web_content_const, i18n_language_codes_i18n_language_codes_id)
        VALUES ('SERVICES_HEADING', @i18n_language_codes_id),
        ('SERVICES_MAIN_TEXT', @i18n_language_codes_id),
        ('SERVICES_1_HEADING', @i18n_language_codes_id),
        ('SERVICES_1_TEXT', @i18n_language_codes_id);
END;//

DELIMITER ;

答案 1 :(得分:0)

我不得不说,这是错误的,而且很难改变这样的问题。你应该回答11月3日安德鲁琼斯回答的问题,接受并提出他的回答,然后提出一个新问题。

那就是说,这似乎会让你得到类似你所追求的东西(虽然你如何得出32767和525949的数字超出了我的范围!?!)

SELECT *
     , h.handtool_last_date_of_maintenance 
     + INTERVAL h.maintenance_interval_value 
     * u.unit_value MINUTE x 
  FROM handtools h 
  JOIN units u 
    ON u.unit_id = h.unit_unit_id;