MySQL根据select语句中的列插入到不同的表中

时间:2018-01-31 20:12:45

标签: mysql

希望这个太糟糕了,我还没有能够解决这个问题。

所以我有一张按日期列出数据的表格。我需要从字段中聚合该表中的数据,比如利润和客户,然后将其插入到以事务发生月份命名的表中。

例如,假设我有以下数据:

  1. 20170101,Michael,100 $
  2. 20170301 George,200 $
  3. 20170104,Carla,50 $
  4. 20170115,Michael,500 $
  5. 我需要在一个名为January的表中插入客户1月份发生的所有交易的汇总。这看起来像这样:

    一月

    1. Michael,600 $
    2. Carly,50 $
    3. 三月

      1. George,200 $
      2. 希望我能够很好地解释这一点。

        提前感谢您的帮助!

        EDIT1:

        我想我解释得很糟糕。数据分组和汇总不是我的问题。它是根据月份将其插入另一个表中。我不知道它会进入哪个表,直到我记录下来。所以基本上我需要根据select语句中的列动态插入表中,本例中为日期

2 个答案:

答案 0 :(得分:0)

在这种情况下,您不需要聚合。您只需要获取每个月的数据并插入相应的月份表。这看起来很像可以使用存储过程完成的任务。由于您要将数据插入表(月份表)中,您必须看到此表中的数据不会被多次插入污染。为了防止在插入或更新时通过表上的触发器更好。

请参阅MySQL Triggers

答案 1 :(得分:-1)

为什么不在最后将它们聚合在一起?如果您已将数据存储在一个表中,为什么要复制它?做类似的事情:

GROUP BY SUBSTR(date_column, 4, 2)

WHERE SUBSTR(date_column, 4,2)=01