-- ============================================ -- 更新会员类型:将存在耗卡记录的潜客(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;