更新潜客为新客.sql
1.82 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
-- ============================================
-- 更新会员类型:将存在耗卡记录的潜客(0)更新为新客(1)
-- ============================================
--
-- 功能说明:
-- 1. 查找会员类型为 0(潜客/线索)的会员
-- 2. 如果该会员存在有效的耗卡记录(lq_xh_hyhk 表中有记录且 F_IsEffective = 1)
-- 3. 将该会员的类型更新为 1(新客)
--
-- 执行前建议:
-- 1. 先执行查询语句查看会更新多少条记录
-- 2. 确认无误后再执行更新语句
-- ============================================
-- 1. 查询语句:查看将要更新的会员数量和信息
SELECT
kh.F_Id AS 会员ID,
kh.khmc AS 会员名称,
kh.sjh AS 手机号,
kh.khlx AS 当前类型,
COUNT(hyhk.F_Id) AS 耗卡记录数
FROM lq_khxx kh
INNER JOIN lq_xh_hyhk hyhk ON kh.F_Id = hyhk.hy
WHERE kh.khlx = '0' -- 会员类型为 0(潜客/线索)
AND hyhk.F_IsEffective = 1 -- 耗卡记录有效
GROUP BY kh.F_Id, kh.khmc, kh.sjh, kh.khlx;
-- 2. 更新语句:将存在耗卡记录的潜客更新为新客
UPDATE lq_khxx kh
SET kh.khlx = '1' -- 更新为新客(1)
WHERE kh.khlx = '0' -- 会员类型为 0(潜客/线索)
AND EXISTS (
-- 确保至少有一条有效的耗卡记录
SELECT 1
FROM lq_xh_hyhk hyhk
WHERE hyhk.hy = kh.F_Id
AND hyhk.F_IsEffective = 1
LIMIT 1
);
-- 3. 验证语句:查看更新后的结果
SELECT
kh.F_Id AS 会员ID,
kh.khmc AS 会员名称,
kh.sjh AS 手机号,
kh.khlx AS 更新后类型,
COUNT(hyhk.F_Id) AS 耗卡记录数
FROM lq_khxx kh
INNER JOIN lq_xh_hyhk hyhk ON kh.F_Id = hyhk.hy
WHERE kh.khlx = '1' -- 会员类型为 1(新客)
AND hyhk.F_IsEffective = 1 -- 耗卡记录有效
GROUP BY kh.F_Id, kh.khmc, kh.sjh, kh.khlx
HAVING COUNT(hyhk.F_Id) > 0;