【发布时间】:2016-09-07 07:46:10
【问题描述】:
在我的场景中,我有两个临时表:
表 1:
id | UserName | CalendarDate
----+----------+--------------
1 | Null | 2016-09-07
2 | Null | 2016-09-07
表2:
id | Emp_Name | Date
---+-----------+-------------
1 | Max | 2016-09-07
2 | Jupiter | 2016-09-07
这是我用来连接两个表的查询。
update #TABLE1
set UserName = e.Emp_Name
from #TABLE2 e
join #TABLE l on e.Date = l.CalendarDate
运行查询后,它会在所有这样的行中使用相同的Emp_Name 更新#Table1 行
id | UserName | CalendarDate
---+----------+----------------
1 | Jupiter | 2016-09-07
2 | Jupiter | 2016-09-07
我希望我的输出是这样的
表1
id | UserName | CalendarDate
---+----------+----------------
1 | Max | 2016-09-07
2 | Jupiter | 2016-09-07
如果有人可以帮助我,那将非常有帮助。谢谢
【问题讨论】:
-
由于您的
#Table1的两行具有相同的日期,更新语句将首先将这两行更新为Max,然后将这两行更新为Jupiter。 ....您需要的是这些表上的 正确的 PRIMARY KEY,这样您就不必依赖像Date这样的列,这显然不是每一行都唯一的
标签: sql sql-server database join