쿼리 (SQL Server 2012)를 사용하려면 다음을 수행하십시오. 일반적인 링크 가능 레코드가없는 테이블 데이터를 한 테이블에서 다른 테이블로 업데이트하십시오. 가입하고 업데이트 할 수는 없습니다). 만 유사도 테이블이 동일한 구조의 것을공용 식별자가없는 한 테이블에서 다른 테이블로 데이터 업데이트
가 간단
- 표 1A (100+ 항목 전송) 계속이다 KEY를 TAGNAME < - 어디 TAG1 ' 등 a.TagName
- 표 1B : DS_KEY, 메이크업, 모델 < - 업데이트 데이터의 소스
- 표 2A : KEY, 태그 이름 < - 어디 b.TagName 'TAG2'
- 표 2B와 같은 : DS_KEY, 메이크업, 모델 < - - 업데이트 데이터의 대상
그래서
- 표 1A : 123 TAG1
- 표 1B : 123 Test1을, 모델 1
- 표 2A : 456, TAG2
- 표 2B : 456, NULL, NULL
내가 무엇을 가지고 :
--Query 1
SELECT KEY, TagName, DS_KEY, Make, Model
FROM Table1a
JOIN Table1b
ON Table1a.KEY = Table1b.DS_KEY
Where TagName = 'Tag1'
결과 (123, TAG1, 123, Test1을, 모델 1)
--Query 2
SELECT KEY, TagName, DS_KEY, Make, Model
FROM Table2a
JOIN Table2b
ON Table2a.KEY = Table2b.DS_KEY
Where TagName = 'Tag2'
결과 (456, TAG2, 456, NULL, NULL)
내가 작업 할 믹스를 돌려줍니다. 이 시점에서 Table2b를 업데이트하는 방법에 대해 당황스러워합니다. 그들과 합류 할 수 없다. (적어도 나는 어떻게 보이지 않는다!). 아마 UNION ALL? 정말 설정하는 약 100 레코드가, 내가 말했듯이 내가
Update Table2b
Set Table2b.Make =
(SELECT Make FROM Table1a
JOIN Table1b
ON Table1a.KEY = Table1b.DS_KEY)
FROM Table2a
JOIN Table2b
ON Table2a.KEY = Table2b.DS_KEY
Where Table2a.TagName = 'Tag2'
할 필요가 없습니다 희망 쉬운 방법이있을 필요가있다처럼 그냥 보인다. 미리 감사드립니다. 간단하게 (그리고 피곤 해요!) 계속 질문을 바꾸려고 할 때 구문 오류를 용서하십시오. :)
을 제공하는 것은 여기에서 작동하는 샘플입니다. SQL Fiddle을 사용한 적이 없기 때문에 이것이 작동하지 않는다면 알려주십시오! http://sqlfiddle.com/#!6/db2fa/4 –
아무나 통찰력을 줄 수 있습니까? –