我有一张这样的表
id name parentid
1 LOTTEMART 1.3
2 LOTTEMART Jabodetabek 1.3.10
3 LOTTEMART HPM GANDARIA CITY 1.3.10.1
4 LOTTEMART HPM RATU PLAZA 1.3.10.1
5 LOTTEMART HPM KELAPA GADING 1.3.10.1
我希望当我更新LOTTEMART 1.3为1.4时,兄弟姐妹和孩子会自动更新这样
id name parentid
1 LOTTEMART 1.4
2 LOTTEMART Jabodetabek 1.4.10
3 LOTTEMART HPM GANDARIA CITY 1.4.10.1
4 LOTTEMART HPM RATU PLAZA 1.4.10.1
5 LOTTEMART HPM KELAPA GADING 1.4.10.1
或者如果我想更新LOTTEMART Jabodetabek 1.4.10是1.4.18我想要这样的结果
id name parentid
1 LOTTEMART 1.4
2 LOTTEMART Jabodetabek 1.4.18
3 LOTTEMART HPM GANDARIA CITY 1.4.18.1
4 LOTTEMART HPM RATU PLAZA 1.4.18.1
5 LOTTEMART HPM KELAPA GADING 1.4.18.1
我尝试使用concat / replace但不显示我想要的东西.. 还有其他建议吗?
答案 0 :(得分:1)
您可以尝试此查询以获取答案:
首次输出:
UPDATE TestTable123412
SET parentid = replace(parentId,'1.3','1.4')
WHERE name='LOTTEMART' or Id >= (select id from TestTable123412
where name='LOTTEMART')
第二次输出:
UPDATE TestTable123412
SET parentid = replace(parentId,'1.4.10','1.4.18')
WHERE name='LOTTEMART Jabodetabek' or Id >= (select id from TestTable123412
where name='LOTTEMART Jabodetabek')