这些表格描述模糊不清,以保护我正在使用的数据。我提前道歉但我必须保持细节有限。我正在使用SQL Server 2008。
我有两个看起来像这样的表:
表1 :
Facility, Person, ID, Group
表2 :
ID, Type, Date
我想根据表2中的Group
更新表1中的Type
,但仅限于与某个Facility
匹配的位置。
我试过了:
UPDATE Table 1
SET Group = 'Big'
FROM Table 1 T1
INNER JOIN Table 2 T2 on T1.ID = T2.ID
WHERE Type = 'B' AND Facility LIKE '%Game%'`
但结果是对Facility
的所有字段进行了更新,例如'%Game%'。
SELECT
语句返回所有正确的结果。我不确定是什么问题。
感谢您的帮助。
答案 0 :(得分:0)
你非常接近。您只想使用update
中的别名而不是表名:
UPDATE T1
SET Group = 'Big'
from Table 1 T1 INNER JOIN
Table 2 T2
on T1.ID = T2.ID
WHERE Type = 'B' AND Facility like '%Game%'