-- 修复应急单参与人员子表数据 INSERT INTO emergency_order_operator (id, order_id, operator_type, user_id, join_type, join_date) SELECT CONCAT(2,LPAD(FLOOR(RAND() * POWER(10, 10)), 10, '0'), LPAD(FLOOR(RAND() * POWER(10, 7)), 7, '0')) AS id, t.* FROM ( SELECT id AS order_id, 0 AS operator_type, operation_user_id AS user_id, 0 AS join_type, operation_response_time AS join_date FROM emergency_order WHERE operation_user_id IS NOT NULL UNION ALL SELECT id AS order_id, 1 AS operator_type, major_user_id AS user_id, 0 AS join_type, major_response_time AS join_date FROM emergency_order WHERE major_user_id IS NOT NULL UNION ALL SELECT id AS order_id, 1 AS operator_type, major_user_two_id AS user_id, 0 AS join_type, major_response_time AS join_date FROM emergency_order WHERE major_user_two_id IS NOT NULL ) t LEFT JOIN emergency_order_operator t1 ON t1.order_id = t.order_id AND t1.user_id = t.user_id AND t1.operator_type = t.operator_type WHERE t1.id IS NULL;