更新开单品项明细表品项分类字段.sql
4.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
-- ============================================
-- 批量更新品项明细表的品项分类字段
-- ============================================
-- 说明:此脚本用于批量更新以下表的 F_ItemCategory 字段
-- 1. lq_kd_pxmx(开单品项明细表)
-- 2. lq_kd_deductinfo(开单扣减信息表)
-- 3. lq_xh_pxmx(耗卡品项明细表)
-- 4. lq_hytk_mx(会员退卡明细表)
--
-- 数据来源:从关联的项目资料表(lq_xmzl)的 qt2 字段获取品项分类
--
-- 关联关系:
-- - lq_kd_pxmx.px = lq_xmzl.F_Id
-- - lq_kd_deductinfo.F_ItemId = lq_xmzl.F_Id
-- - lq_xh_pxmx.px = lq_xmzl.F_Id
-- - lq_hytk_mx.px = lq_xmzl.F_Id
--
-- 更新逻辑:
-- - 更新所有记录(不判断是否有效)
-- - 只更新关联的项目资料存在且qt2字段有值的记录
-- - 从 lq_xmzl.qt2 字段获取品项分类(医美/科美/生美)
-- ============================================
-- 1. 更新开单品项明细表的品项分类字段
-- ============================================
UPDATE lq_kd_pxmx pxmx
INNER JOIN lq_xmzl xmzl ON pxmx.px = xmzl.F_Id
SET pxmx.F_ItemCategory = xmzl.qt2
WHERE xmzl.qt2 IS NOT NULL
AND xmzl.qt2 != '';
-- ============================================
-- 2. 更新开单扣减信息表的品项分类字段
-- ============================================
UPDATE lq_kd_deductinfo deduct
INNER JOIN lq_xmzl xmzl ON deduct.F_ItemId = xmzl.F_Id
SET deduct.F_ItemCategory = xmzl.qt2
WHERE xmzl.qt2 IS NOT NULL
AND xmzl.qt2 != '';
-- ============================================
-- 3. 更新耗卡品项明细表的品项分类字段
-- ============================================
UPDATE lq_xh_pxmx pxmx
INNER JOIN lq_xmzl xmzl ON pxmx.px = xmzl.F_Id
SET pxmx.F_ItemCategory = xmzl.qt2
WHERE xmzl.qt2 IS NOT NULL
AND xmzl.qt2 != '';
-- ============================================
-- 4. 更新会员退卡明细表的品项分类字段
-- ============================================
UPDATE lq_hytk_mx mx
INNER JOIN lq_xmzl xmzl ON mx.px = xmzl.F_Id
SET mx.F_ItemCategory = xmzl.qt2
WHERE xmzl.qt2 IS NOT NULL
AND xmzl.qt2 != '';
-- ============================================
-- 5. 验证更新结果
-- ============================================
-- 查看 lq_kd_pxmx 更新后的统计信息
-- SELECT
-- '开单品项明细' AS 表名,
-- F_ItemCategory AS 品项分类,
-- COUNT(*) AS 记录数
-- FROM lq_kd_pxmx
-- GROUP BY F_ItemCategory
-- ORDER BY 记录数 DESC;
-- 查看 lq_kd_deductinfo 更新后的统计信息
-- SELECT
-- '开单扣减信息' AS 表名,
-- F_ItemCategory AS 品项分类,
-- COUNT(*) AS 记录数
-- FROM lq_kd_deductinfo
-- GROUP BY F_ItemCategory
-- ORDER BY 记录数 DESC;
-- 查看 lq_xh_pxmx 更新后的统计信息
-- SELECT
-- '耗卡品项明细' AS 表名,
-- F_ItemCategory AS 品项分类,
-- COUNT(*) AS 记录数
-- FROM lq_xh_pxmx
-- GROUP BY F_ItemCategory
-- ORDER BY 记录数 DESC;
-- 查看 lq_hytk_mx 更新后的统计信息
-- SELECT
-- '会员退卡明细' AS 表名,
-- F_ItemCategory AS 品项分类,
-- COUNT(*) AS 记录数
-- FROM lq_hytk_mx
-- GROUP BY F_ItemCategory
-- ORDER BY 记录数 DESC;
-- 查看未更新的记录数(关联的项目资料不存在或qt2为空)
--
-- lq_kd_pxmx 未更新记录数
-- SELECT COUNT(*) AS 未更新记录数
-- FROM lq_kd_pxmx pxmx
-- LEFT JOIN lq_xmzl xmzl ON pxmx.px = xmzl.F_Id
-- WHERE xmzl.F_Id IS NULL
-- OR xmzl.qt2 IS NULL
-- OR xmzl.qt2 = '';
-- lq_kd_deductinfo 未更新记录数
-- SELECT COUNT(*) AS 未更新记录数
-- FROM lq_kd_deductinfo deduct
-- LEFT JOIN lq_xmzl xmzl ON deduct.F_ItemId = xmzl.F_Id
-- WHERE xmzl.F_Id IS NULL
-- OR xmzl.qt2 IS NULL
-- OR xmzl.qt2 = '';
-- lq_xh_pxmx 未更新记录数
-- SELECT COUNT(*) AS 未更新记录数
-- FROM lq_xh_pxmx pxmx
-- LEFT JOIN lq_xmzl xmzl ON pxmx.px = xmzl.F_Id
-- WHERE xmzl.F_Id IS NULL
-- OR xmzl.qt2 IS NULL
-- OR xmzl.qt2 = '';
-- lq_hytk_mx 未更新记录数
-- SELECT COUNT(*) AS 未更新记录数
-- FROM lq_hytk_mx mx
-- LEFT JOIN lq_xmzl xmzl ON mx.px = xmzl.F_Id
-- WHERE xmzl.F_Id IS NULL
-- OR xmzl.qt2 IS NULL
-- OR xmzl.qt2 = '';