쿼리 질문입니다.
-
2012년 2월 22일 수요일 오후 12:49
아래 와같이 테이블이 존재하구요.
C1,C2,C3
--------
a,b,c
x,y,z
p,q,r
a,b,c
a,b,c
x,y,z값이 abc 처음 값이 나오면, 네번째 컬럼에 1 중복된경우엔 0을 C4라는 컬럼에 나오게 만드는 쿼리를 만들고 싶어요
C1,C2,C3,C4
--------
a,b,c,1
x,y,z,1
p,q,r,1
a,b,c,0
a,b,c,0
x,y,z,0
모든 응답
-
2012년 2월 23일 목요일 오후 2:57중재자
안녕하십니까? S큐L 님,
Microsoft TechNet의Forum 사이트를 방문해 주셔서 감사합니다.
문의 하신 "쿼리 질문입니다”에 대해 답변드리겠습니다.
-------------------------------------------------------------------------
CREATE TABLE #T1 (C1 varchar(1),C2 varchar(1),C3 varchar(1),C4 int)
INSERT INTO #T1 (C1,C2,C3)
VALUES ( 'a','b','c'), ('x','y','z'), ('p','q','r'), ('a','b','c'), ('a','b','c'),
('x','y','z')
-- Here is the trick
;WITH CTE as
(Select seq = ROW_NUMBER() OVER (PARTITION BY C1,C2,C3 ORDER BY C1)
, C1, C2, C3,C4
from #T1
)
UPDATE CTE
SET C4 = 1
WHERE seq = 1
select * from #T1
DROP TABLE #T1 -------------------------------------------------------------------------
혹시 제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.
제시해 드린 답변이 도움이 되었기를 바랍니다.답변이 문제 해결에 도움이 되었다면 답변으로 채택을 부탁드립니다.하지만 문제 해결이 되지 않아서 정확한 답변을 원하는 경우에는 문제의 정보를 더 자세하게 답변으로 제공해주시기 바랍니다.
- 편집됨 Jina LeeModerator 2012년 2월 23일 목요일 오후 2:58
- 답변으로 표시됨 Qler 2012년 2월 24일 금요일 오전 12:20

