mysql 递归_mysql中实现递归查询?

今天遇到一个问题,要求在一张客户表和一张卡更新表之间实现关联替换。

需求是这样:有一些客户有一天换几张卡的情况,每次换卡卡号都会换新,旧卡号不会再用。如果一个客户一天换四次卡,会出现五张卡号关联一个客户的情况。

如果第二天抽取卡更新表的信息和客户信息表关联。其实就一个卡号字段要变,但是四次更新卡号的记录都要插入数据库中存储,问题是,怎么从卡一到卡五依次关联到这一个客户号,实现批量插入?求助!

目前的问题是,要关联的客户账户表中的客户号无法和卡更新表相关联,因卡更新表中无客户号字段。ab8a141d7662a89d858dba071a88eb53.png

这是客户账户信息表中的字段

我想要跟act_cd字段相关联

fe575cc7db778382c7bdf2a5a879e0ed.png

这种情况如何将两张表关联起来呢?然后将新卡号关联到客户信息中,批量插入?我现在想到的sql语句是

查询出来旧卡号在新卡号列的对应主体信息,此为一个客户一天内一次换卡后又继续换卡,导致卡号多次变更的情况

insert into ori_pact

(

ctif_id,

act_cd,

act_tp,

act_typ,

act_limit,

address,

bind_mob,

contact,

cst_sex,

ctif_tp,

id_deadline,

id_no,

id_type,

is_self_acc,

nation,

occupation,

sales_flag,

sales_name

)

SELECT

lp.ctif_id,

CASE

WHEN lp.act_cd=uci.oldcard THEN uci.newcard

END act_cd,

-- lp.act_cd,

lp.act_tp,

lp.act_typ,

lp.act_limit,

lp.address,

lp.bind_mob,

lp.contact,

lp.cst_sex,

lp.ctif_tp,

lp.id_deadline,

lp.id_no,

lp.id_type,

lp.is_self_acc,

lp.nation,

lp.occupation,

lp.sales_flag ,

lp.sales_name

FROM

t_stan_pact lp,update_card_info uci

WHERE

lp.act_cd=uci.newcard AND uci.oldcard

IN

(SELECT

p1.newcard

FROM

update_card_info p1,update_card_info p2

WHERE

p1.oldcard=p2.newcard

)

但想了下,多次换卡情况还是解决不了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值