SQL集表1 COL A =表2 COL B如果表1 COL C =表2 COL D

时间:2012-10-30 12:40:34

标签: sql sql-server-2008 tsql

我有两张桌子

表1

REF1 REF2
     A
     B
     C

表2

UPN Filename
1   A
2   B
3   C

我想在SQL中做的是这个

  

如果Table1 REF2 = Table2 Filename则设置Table1 REF1 = Table2 UPN

这是我做过的SQL

UPDATE    Table1
SET       REF1 = Table2.UPN
FROM      Table1 INNER JOIN Table2 
ON        Table1.REF2 = Table2.FileName 

所有这一切都是将table2的第1行中的第一个值放在REF1

中table1下的每一行中

例如这就是我得到的

TABLE1

REF1 REF2
1    A
1    B
1    C

这就是我想要的

TABLE1

REF1 REF2
1    A
2    B
3    C

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:2)

要在SQL Server中执行此操作,请使用以下语法:

UPDATE t1
SET t1.REF1 = t2.UPN
FROM Table1 AS t1
INNER JOIN Table2 t2 ON t1.REF2 = t2.FileName