| 123456789101112131415 |
- -- 费用分摊: 给 project_resource 增加 allocation_percent(费用分摊占比) 列
- -- 并把存量"一个资源关联多个项目"的记录归一为均分(避免占比合计>100导致统计重复计入)
- ALTER TABLE `project_resource`
- ADD COLUMN `allocation_percent` DECIMAL(7,4) NOT NULL DEFAULT 100.0000
- COMMENT '费用分摊占比(0~100, 同一资源各关联项目占比合计应为100)';
- -- 存量多关联资源: 均分(每个关联占比 = 100 / 关联数)
- UPDATE `project_resource` pr
- JOIN (
- SELECT resource_id, COUNT(*) AS cnt
- FROM `project_resource`
- GROUP BY resource_id
- HAVING cnt > 1
- ) s ON s.resource_id = pr.resource_id
- SET pr.allocation_percent = ROUND(100.0 / s.cnt, 4);
|