INSERT INTO virtual_orders ("type", sn, "source", company_id, package_id, product_id, pay_channel, unit_price, counts, total_price, custom_price, order_at, order_status, transaction_status, created_at, updated_at) ( SELECT MIN("type"), order_sn, 1, MIN(company_id), MIN(package_id), MIN(product_id), MIN(pay_channel), MIN(unit_price), COUNT(*) AS counts, MIN(unit_price) * COUNT(*) AS total_price, MIN(unit_price) * COUNT(*) AS custom_price, MIN(created_at) AS order_at, 4, 1, MIN(created_at) AS created_at, MIN(created_at) AS updated_at FROM logs GROUP BY order_sn) ON CONFLICT (sn, COALESCE(deleted_at::TIMESTAMP, '1970-01-01 08:00:00'::TIMESTAMP)) DO NOTHING; INSERT INTO virtual_order_cards ("type", sim, order_id, company_id, package_id, counts, created_at, updated_at) ( SELECT logs. "type" AS "type", logs.sim::BIGINT AS sim, virtual_orders.ID AS order_id, logs.company_id, logs.package_id, logs.counts, logs.created_at AS created_at, logs.created_at AS updated_at FROM logs LEFT JOIN virtual_orders ON virtual_orders.sn = logs.order_sn WHERE logs. "type" = 0) ON CONFLICT (sim, order_id, COALESCE(deleted_at::TIMESTAMP, '1970-01-01 08:00:00'::TIMESTAMP)) DO NOTHING; INSERT INTO virtual_order_renewal_cards ("type", sim, order_id, company_id, package_id, counts, created_at, updated_at) ( SELECT logs. "type" AS "type", logs.sim::BIGINT AS sim, virtual_orders.ID AS order_id, logs.company_id, logs.package_id, logs.counts, logs.created_at AS created_at, logs.created_at AS updated_at FROM logs LEFT JOIN virtual_orders ON virtual_orders.sn = logs.order_sn WHERE logs. "type" = 1) ON CONFLICT (sim, order_id, COALESCE(deleted_at::TIMESTAMP, '1970-01-01 08:00:00'::TIMESTAMP)) DO NOTHING; INSERT INTO virtual_order_renewal_package_cards ("type", sim, order_id, company_id, package_id, counts, created_at, updated_at) ( SELECT logs. "type" AS "type", logs.sim::BIGINT AS sim, virtual_orders.ID AS order_id, logs.company_id, logs.package_id, logs.counts, logs.created_at AS created_at, logs.created_at AS updated_at FROM logs LEFT JOIN virtual_orders ON virtual_orders.sn = logs.order_sn WHERE logs. "type" = 2) ON CONFLICT (sim, order_id, COALESCE(deleted_at::TIMESTAMP, '1970-01-01 08:00:00'::TIMESTAMP)) DO NOTHING; INSERT INTO virtual_order_flows_package_cards ("type", sim, order_id, company_id, package_id, counts, created_at, updated_at) ( SELECT logs. "type" AS "type", logs.sim::BIGINT AS sim, virtual_orders.ID AS order_id, logs.company_id, logs.package_id, logs.counts, logs.created_at AS created_at, logs.created_at AS updated_at FROM logs LEFT JOIN virtual_orders ON virtual_orders.sn = logs.order_sn WHERE logs. "type" = 3) ON CONFLICT (sim, order_id, COALESCE(deleted_at::TIMESTAMP, '1970-01-01 08:00:00'::TIMESTAMP)) DO NOTHING;