2013-07-15 4 views
0

이 테이블 설명은 내가 작업중인 데이터를 보호하기가 모호합니다. 나는 사전에 사과하지만 나는 세부 사항을 제한해야합니다.다른 테이블의 필드 내용을 기반으로 필드 업데이트

표 1 :

Facility, Person, ID, Group 

표 2 :

ID, Type, Date 

나는 내가 다음과 같이 두 테이블이 SQL 서버 2008

을 사용하고 있습니다 표 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 모든 분야에 대한 업데이트입니다.

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

관련 문제