Files
hzdyjs/docs/数据库脚本/2026-09-01-xg_class_msg-set-campus-xixi-fix.sql
T
2026-09-02 09:58:57 +08:00

82 lines
2.6 KiB
SQL

-- ============================================================
-- 补齐未命中的 8 个西溪校区班级(名称变体)
-- 原名单未命中:
-- 无人机 261 / 无人机 251(多半库中无空格)
-- 电商261/263/264/251/252(多半是「电子商务xxx」)
-- 西餐运营211(需先确认实际名称)
-- ============================================================
-- ---------- 1) 先查实际名称(务必先跑)----------
SELECT id, class_name, campus_id, campus_name
FROM xg_class_msg
WHERE deleted = 0
AND (
class_name IN (
'无人机261', '无人机 261',
'无人机251', '无人机 251',
'电商261', '电子商务261',
'电商263', '电子商务263',
'电商264', '电子商务264',
'电商251', '电子商务251',
'电商252', '电子商务252',
'西餐运营211'
)
OR class_name LIKE '无人机%261%'
OR class_name LIKE '无人机%251%'
OR class_name LIKE '%电商%261%'
OR class_name LIKE '%电商%263%'
OR class_name LIKE '%电商%264%'
OR class_name LIKE '%电商%251%'
OR class_name LIKE '%电商%252%'
OR class_name LIKE '西餐%211%'
)
ORDER BY class_name;
START TRANSACTION;
-- ---------- 2) 按常见变体补设为西溪校区 ----------
UPDATE xg_class_msg c
INNER JOIN xg_dorm_campus camp
ON camp.campus_name = '西溪校区'
AND camp.deleted = '0'
SET
c.campus_id = camp.id,
c.campus_name = camp.campus_name,
c.update_time = NOW()
WHERE c.deleted = 0
AND (
-- 去空格
c.class_name IN ('无人机261', '无人机251')
-- 电商 → 电子商务
OR c.class_name IN (
'电子商务261', '电子商务263', '电子商务264',
'电子商务251', '电子商务252'
)
-- 若库中本来就是「电商xxx」但上次因其他原因未更新,再兜底一次
OR c.class_name IN (
'电商261', '电商263', '电商264', '电商251', '电商252',
'无人机 261', '无人机 251', '西餐运营211'
)
);
-- 核对这批是否已挂上西溪
SELECT id, class_name, campus_name
FROM xg_class_msg
WHERE deleted = 0
AND class_name IN (
'无人机261', '无人机 261', '无人机251', '无人机 251',
'电商261', '电子商务261', '电商263', '电子商务263',
'电商264', '电子商务264', '电商251', '电子商务251',
'电商252', '电子商务252', '西餐运营211'
);
-- 西溪应接近 99(若 8 个变体都找到);临安仍为 36
SELECT campus_name, COUNT(*) AS cnt
FROM xg_class_msg
WHERE deleted = 0
AND campus_name IN ('西溪校区', '临安校区')
GROUP BY campus_name;
COMMIT;
-- ROLLBACK;