2013-07-15 157 views
0

這些表描述含糊不清,以保護我正在使用的數據。我提前道歉,但我必須保持細節有限。我使用的是SQL Server 2008的根據另一個表中的字段內容更新字段

我有2個表看起來像這樣:

表1

Facility, Person, ID, Group 

表2

ID, Type, Date 

我想要基於表2中的Type更新表1中的Group,但是在在哪裏匹配某個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 LIKE '%博弈%' 的領域。

A 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%' 
+0

該解決方案仍然更新所有記錄,無論類型字段。 – wdharrison

相關問題