SQL选择,插入逻辑与IF然后其他情况

时间:2015-09-26 17:19:49

标签: mysql

我正在尝试将一些旧数据迁移到新系统中。我有旧系统的表转储。简化事情:

OldTable - 列是日期,旗帜,付款,付款2,帐户

NewTable - 列是日期,旗帜,付款,帐户

我需要从旧表中选择记录,如果Flag = 1,NewTable中的Payment = OldTable中的Payment,如果Flag = 2,则NewTable中的Payment = OldTable中的Payment2。

还有几个if-then secenarios,但了解如何解决这个问题将解决所有其他问题。

1 个答案:

答案 0 :(得分:1)

您可以使用以下查询:

insert into newtable 
   ( Date, 
     Flag, 
     Payment, 
     Account )
   select 
         Date, 
         Flag, 
         case when Flag = 1 then Payment 
              WHEN Flag = 2 THEN Payment2 END CASE, 
         Account 
      from 
         OldTable;