0

我目前运行此查询:

UPDATE table1 
SET column1 = table2.columnA  
FROM table2
WHERE column2 = table2.columnA
AND column3 = table2.columnC

是的,有一个重复的列,对不起。

当我交叉引用column2时, table2.columnA有机会得到NULL,因为column2 DOES NOT contains where /as table2.columnA may contain/

我不想更改数据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

谢谢您的帮助!

4

1 回答 1

1

就像是

UPDATE table1  
SET column1 = table2.columnA   
FROM table1 
    inner join table2 
    on table1.column2 = REPLACE([table2.columnA],'/','-')
    and table1.column3 = table2.columnC 
于 2012-10-09T19:27:13.207 回答