B.S*_*iuk 0 sql-server sql-update
我有两张桌子。用户 1:
UserID HolidayCity ValidFrom ValidTo
1 NULL '1900-01-01' '2017-05-09'
1 NULL '2017-05-09' NULL
2 NULL '1900-01-01' '2017-05-09'
2 NULL '2017-05-09' NULL
Run Code Online (Sandbox Code Playgroud)
用户2:
UserID CityID
1 33
2 55
Run Code Online (Sandbox Code Playgroud)
我需要使用每个 UserID 的第二个表中 CityID 列中的值更新第一个表中的 HolidayCity 列,但只有那些ValidTo 为 NULL 的记录,以便结果表 Users1 将是:
UserID HolidayCity ValidFrom ValidTo
1 NULL '1900-01-01' '2017-05-09'
1 33 '2017-05-09' NULL
2 NULL '1900-01-01' '2017-05-09'
2 55 '2017-05-09' NULL
Run Code Online (Sandbox Code Playgroud)
你能告诉我怎么做吗?
这是一个简单的 inner join
update u
set u.holidaycity=c.cityid
from users1 u
inner join users2 c
on u.userid = c.userid
and u.validto is null
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17116 次 |
| 最近记录: |