TFS같이 소스 비교할 때 사용할 수 있는 쿼리문
WITH KEY_TBL
AS (
SELECT DISTINCT tblKey FROM TESTAA
)
, S_TBL
AS (
SELECT
a.tblKey AS oriKey
, b.tblKey
, b.tblVersion
, b.tblText
FROM KEY_TBL a
LEFT OUTER JOIN TESTAA b ON a.tblKey = b.tblKey AND b.tblVersion = 1
)
, T_TBL
AS (
SELECT
a.tblKey AS oriKey
, b.tblKey
, b.tblVersion
, b.tblText
FROM KEY_TBL a
LEFT OUTER JOIN TESTAA b ON a.tblKey = b.tblKey AND b.tblVersion = 2
)
SELECT
a.oriKey
, a.tblKey
, a.tblVersion
, a.tblText
, b.oriKey
, b.tblKey
, b.tblVersion
, b.tblText
, CASE WHEN a.tblKey IS NULL THEN 'I' ELSE
CASE WHEN b.tblKey IS NULL THEN 'D' ELSE
CASE WHEN a.tblText <> b.tblText THEN 'C' ELSE 'N' END
END
END
FROM S_TBL a
LEFT OUTER JOIN T_TBL b ON a.oriKey = b.oriKey
;
'MS-SQL' 카테고리의 다른 글
CONVERT 날짜 포맷 정의 (0) | 2015.07.27 |
---|---|
FORMAT 날짜, 문자, 숫자, 전화번호 포맷 정의 (0) | 2015.07.27 |
DataSet으로 된 데이터를 통으로 SP로 보내기 (0) | 2015.07.27 |
Cursor (0) | 2015.07.27 |
재귀 쿼리로 트리 목록 한줄에 출력 레벨1>레벨2>레벨3> (0) | 2015.07.27 |
댓글