我目前运行此查询:
UPDATE table1
SET column1 = table2.columnA
FROM table2
WHERE column2 = table2.columnA
AND column3 = table2.columnC
是的,有一个重复的列,对不起。
当我将引用column2
与table2.columnA
交叉时,有可能获得NULL
,因为column2
不包含/
table2.columnA
可能包含/
我不想更改table2.columnA
据我了解,我可以将此查询运行到REPLACE
字符。
SELECT REPLACE ([table2.columnA],'/','-')
FROM table2
这有必要不会对table2
进行永久性更改,所以我想确保我做对了或看看是否有更好的方法。
现在我想结合两个查询但不确定如何。
UPDATE table1
SET column1 = table2.columnA
FROM table2
WHERE column2 = (SELECT REPLACE([table2.columnA],'/','-')table2.columnA)
FROM table2
AND column3 = table2.columnC
感谢您的帮助!
答案 0 :(得分:1)
像
这样的东西UPDATE table1
SET column1 = table2.columnA
FROM table1
inner join table2
on table1.column2 = REPLACE([table2.columnA],'/','-')
and table1.column3 = table2.columnC