diff --git a/db/sql/修复应急单参与人员子表数据.sql b/db/sql/修复应急单参与人员子表数据.sql new file mode 100644 index 0000000..a241d6e --- /dev/null +++ b/db/sql/修复应急单参与人员子表数据.sql @@ -0,0 +1,42 @@ +-- 修复应急单参与人员子表数据 +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; \ No newline at end of file