数据库:sqlsever2008
续接前个提问,问题是:在找出需要对调的sht码后,也就是字段内对特定关键词两两对调
初始数据如下:
sht pcs index route
1111a 20231a 1 41
1111a 20232a 2 41
1111a 20233a 3 41
2222a 20234a 1 41
2222a 20235a 2 41
2222a 20236a 3 41
3333a 20237a 1 41
3333a 20238a 2 41
3333a 20239a 3 41
4444a 20240a 1 41
4444a 20241a 2 41
4444a 20242a 3 41
在处理后得到需要对调的数据:
sht pcs index route sht pcs index route
1111a 20243a 1 41 2222a 20249a 1 41
1111a 20244a 2 41 2222a 20250a 2 41
1111a 20245a 3 41 2222a 20251a 3 41
3333a 20246a 1 41 4444a 20252a 1 41
3333a 20247a 2 41 4444a 20253a 2 41
3333a 20248a 3 41 4444a 20254a 3 41
我尝试过:
1.replace关键字,但这样替换过后另一半就消失了;如果新建两个临时对象A/B再替换那一次只能对调一张,实际有好多
2.case when then,这东西如果是对调一个sht内的内容比如index可以
(when index 1 than 2
when index 2 than 1 end)这是可以同时对调的,但是现在是对调sht指定不了一个固定内容,不加括号也是另一半没了
目标:将这个表格内sht下的左侧与右侧两两对调,也就是1111a与2222a、3333a与4444a对调以此类推,且需要限定route为41 进行批量更新!