두 테이블 모두 동일한 열을 사용합니다.SQL보기 값이 두 테이블 중 하나 또는 두 테이블 중 하나에 표시되는 경우
첫 번째 테이블에는 원본 원본 데이터가 들어 있으며 두 번째 테이블에는 원본 데이터가없는 곳에서 삽입 된 해당 데이터 OR 값의 수정본이 들어 있습니다.
테이블은 데이터에 표시된 개정판이있는보기에서 사용되어야합니다. 그렇지 않은 경우 원본 원본 데이터가 표시됩니다.
일반적으로 왼쪽 결합을 사용하면 문제가 없지만 성능상의 이유로이 작업을 수행하는 방법이 혼란 스럽습니다.
다음 샘플은 설명 도움이 더 나은
DECLARE @t1 TABLE (TimeStamp datetime,Value int)
DECLARE @t2 TABLE (TimeStamp datetime,Value int)
INSERT INTO @t1 (TimeStamp,Value) VALUES ('2000-01-01',10)
INSERT INTO @t1 (TimeStamp,Value) VALUES ('2000-01-02',15)
INSERT INTO @t1 (TimeStamp,Value) VALUES ('2000-01-04',5)
INSERT INTO @t1 (TimeStamp,Value) VALUES ('2000-01-05',18)
INSERT INTO @t1 (TimeStamp,Value) VALUES ('2000-01-06',12)
INSERT INTO @t2 (TimeStamp,Value) VALUES ('2000-01-03',12)
INSERT INTO @t2 (TimeStamp,Value) VALUES ('2000-01-05',20)
INSERT INTO @t2 (TimeStamp,Value) VALUES ('2000-01-06',15)
--SELECT STATEMENT HERE
나는처럼되고 출력이 필요합니다
이TimeStamp Value
----------------------- -----------
2000-01-01 00:00:00.000 10
2000-01-02 00:00:00.000 15
2000-01-03 00:00:00.000 12
2000-01-04 00:00:00.000 5
2000-01-05 00:00:00.000 20
2000-01-06 00:00:00.000 15
그래서 1월 3일의 값이 존재, 5, 6의 값이왔다 @ t2에서 가져온 값과 @ t1의 값은 출력에 없습니다. 나는 그 당신은 노동 조합으로 해결할 수
@ t2에 여러 개의 리비전/행이 있습니까? – gbn
필자의 경우 실제 코드에서 @ t2는 가장 최근 버전 인 –
을 사용하는 리비전 테이블의 뷰입니다. 내 솔루션은 기본 테이블과 함께 작동 할 수 있습니다. – gbn