INSERT IGNORE INTO tb_pluss_member_trans_statistics(userId, startDate, endDate, type, rechargeAmount, consumeAmount, giveAmount) SELECT ua.userId, #{startDate}, #{endDate}, "1", IFNULL(t.rechargeAmount, 0), IFNULL(t.consumeAmount, 0), IFNULL(t.giveAmount, 0) FROM tb_pluss_user_app ua LEFT JOIN ( SELECT merchantCode, SUM(IF(type = 1, transMoney, 0)) rechargeAmount, SUM(IF(type = 2, transMoney, 0)) consumeAmount, SUM(giveMoney) giveAmount FROM ( SELECT merchantCode, rechargeMoney transMoney, giveMoney, 1 type, createDt FROM tb_pluss_merchant_menber_recharge WHERE createDt BETWEEN CONCAT(#{startDate}, " 00:00:00") AND CONCAT(#{endDate}, " 23:59:59") UNION SELECT merchantCode, comsumeMoney transMoney, giveMoney, 2 type, createDt FROM tb_pluss_merchant_menber_comsume WHERE createDt BETWEEN CONCAT(#{startDate}, " 00:00:00") AND CONCAT(#{endDate}, " 23:59:59") ) t GROUP BY merchantCode ) t ON t.merchantCode = ua.merchantCode LEFT JOIN tb_pluss_merchant_channel_status mcs ON ua.merchantCode = mcs.merchantCode WHERE ua.userType = 'promoter' AND mcs.`status` = '3' AND mcs.updateTime <= CONCAT(#{endDate}, " 23:59:59" )