表一:
IdOne | IdTwo
------+------
32423 | 435
2343 | 345
2344 | 45
表1从另外两个表中获取idOne和idTwo。 IdOne存储场地的ID。无论此场地是否有效,它都可以从商店获取其ID。用户可以停用场地并激活它。有一些重复指向相同的地点,我想将重复的值(在表一中)设置为我从存储此信息的表中获得的活动场所的值。
我尝试了子查询,相关查询,但我还没有完成。任何帮助将非常感激。
编辑:
对于措辞严厉的问题,我们深表歉意。我有点疯狂。这是正确的问题。
我有两张桌子。多个表将表演与场地联系起来。还有一个场地表。
多对多表格具有布局:
performance_venue
(
performanceId,
venueId
)
场地表的布局如下:
venue
(
uniqueId,
venueTypeId,
active
)
它们与venue.uniqueId = performance_venue.venueId
相关联。 performance_venue
中有一些实例引用venue
个active
值为0
的实例。有效值为venues
的这些0
有一个更新的venue
实例,其中active
值为1
并且具有相同的venueTypeId
。因此,我想要做的是更新所有performance_venue
个实例,以引用venue
值为active
的{{1}}个实例,如果他们当前指的是1
实例,其有效值为venue
。
这是一个例子。
performance_venue
0
场地
performanceId | venueId
---------------+--------
1 | 1
2 | 2
3 | 3
更新后的预期结果
performance_venue
uniqueId | venueTypeId | active
---------+-------------+-------
1 | 1 | 0
2 | 1 | 1
3 | 2 | 1
答案 0 :(得分:0)
UPDATE t1
SET t1.IdTwo = (SELECT top 1 t2.IdTwo FROM TableTwo t2 WHERE t2.IdOne = t1.IdOne AND t2.Active = 1)
FROM TableOne t1