Blame view

项目文档相关/sql/更新潜客为新客.sql 1.82 KB
d8035736   “wangming”   Refactor project ...
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
  -- ============================================
  -- 更新会员类型:将存在耗卡记录的潜客(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;