2014-01-15 2 views
-1

나는 테이블이 "특정 스타일 (1401,1201) 중 하나라도"0 "으로 죽었 으면. 레벨 1은 스타일과 이름별로 그룹화 된 반면 레벨 4는 스타일별로 그룹화 된 그룹입니다. 난 레벨 1에 대한 답변 그러나 나는 또한 레벨 1로 레벨 4에 대한 다소 유사한 접근을 시도 레벨 4 로 어려움을 겪고 있지만, 원하는 답을 얻을 didnt가 가지고삽입 값은

내 원하는 대답은 1201에 대한 레벨 4의 모든 값을해야한다는 것입니다 예, 1401은 아니어야합니다. 감사합니다.

+0

레벨이 4 인 열이 비어있는 경우 질문을 작성하십시오. –

+0

수정 된 질문을 확인하십시오 – Catalyst

+0

어떤 DBMS를 사용하고 있습니까? 포스트그레스? 신탁? –

답변

0

각 스타일에 대해 dead의 최소값을 찾을 수 있습니다. 테이블이 test라는 가정 :

with cte as 
(
select style, min(cast(dead as int)) as dead 
from test 
group by style 
) 
update test 
set level4 = case when cte.dead = 1 then 'yes' else 'no' end 
from test inner join cte on cte.style = test.style 

내가 당신 dead 플래그를 가정하고있어 INT로 캐스팅이 필요한 그 이유는, 비트입니다.

+0

을 사용하고 있습니다. "cte"항목을 설명 할 수 있다면 큰 도움이 될 것입니다. – Catalyst

+0

[공통 테이블 식] (http://technet.microsoft.com/en-us/library) /ms190766(v=sql.105).aspx). 그것은 당신의 질문에 대답합니까? – TomT

+0

예, 고맙습니다. – Catalyst