2016-09-27 2 views
0

SQL Server 2008을 사용하고 업데이트 문을 수행하려고하는데이 문제를 해결하는 방법이 명확하지 않습니다. 나는 심지어 그것을 충분히 Google에 설명 할 수 없다.SQL Server : 업데이트 문에 누락 된 항목

update S 
set SlsTypId = 'Here' 
from SVSLS S 
join SVSLSOPS O on S.Slsid = O.SlsId 
where O.SlsTypId = 'Here' 
    and O.SlsTypId <> 'OnOrder' 

내가 가지고있는 문제는 slsid가 고유 할 때이 업데이트 문을 작동시키는 것입니다. 여기

몇 가지 샘플 데이터입니다 : 사전에

SLSID SLSTYPID OPSID 
------------------------- 
R001005288 SI 1 
R001005288 HERE 5 
R001005288 OnOrder 8 
R001005288 HERE 9 
R001057955 BI 1 
R001057955 BI 2 
R001057955 BI 3 
R001057955 BI 4 
R001057955 BI 5 
R001057955 HERE 6 
R001105960 BR 1 
R001105960 BR 2 
R001107237 SR 1 
R001107237 SR 2 
R001107237 SR 3 
R001107572 HERE 1 
R001107572 OnOrder 2 
R001107572 PDIS 3 
R001107572 PDIS 4 
R001107613 BR 1 
R001107613 BR 2 
R001107613 BR 3 
R001107613 BR 4 
R001107613 BR 5 

감사합니다 ...

+0

어떤 버전의 SQL (예 : MySQL, SQL Server)이 당신은 대답을 고도로 의존이 될 것입니다? –

+0

이 조건이 필요 없음 O.SlsTypId <> 'OnOrder'(이미 O.SlsTypId = '여기'사용) – Poonam

+0

2 개의 테이블을 나열하고 1 개의 테이블에 대한 정보 만 제공했습니다. – Poonam

답변

0

안녕하세요 일치하는 와일드 카드를 사용하여이 쿼리를 시도하고 가끔 (

O.SlsTypId LIKE '%OnOrder%'이 필요하지 않을 것이라고 생각). 도움이 되었으면

update S 
set SlsTypId = 'Here' 
from SVSLS S 
INNER join SVSLSOPS O on S.Slsid = O.SlsId 
WHERE O.SlsTypId LIKE '%Here%' 
AND O.SlsTypId LIKE '%OnOrder%' 
+0

이것이 효과가 있습니다! 고맙습니다. – brewer

+0

안녕하세요. 정말로 도움이된다면 정답으로 표시해주세요. –

+0

이것은 내 첫 번째 게시입니다. 나는 주변을 둘러 보았지만 그것을 보지 못했다. 이것을 올바른 답으로 표시하는 방법을 알려주시겠습니까? – brewer