데이터를 채워야하는 2 개의 PK 열이있는 테이블이 있습니다. 첫 번째 열 "ID"가 이미 채워져 있습니다. 아래 예제 에서처럼 "SeqNum"열을 생성하고 채울 필요가 있습니다. 분명히 동일한 ID와 동일한 레코드에서 동일한 SeqNum이 될 수는 없습니다. 왜냐하면 두 ID가 모두 PK이기 때문입니다 (나는 당신이 내 뜻을 알고 있음을 확신합니다). 이것을 어떻게 할 수 있습니까?SQL 시퀀스 번호 생성
너무 같은 간단한 쿼리는 다음과 같습니다
Insert into @TempTable
Select A.ID
,1 --not sure what to do here
,B.Col3
--and other columns
From Blah A Join Blah2 B on B.ID = A.ID
내가 좋아하는 뭔가를 시도하고 그것은 작동하지 않았다
(Select max(ISNULL(SeqNum, 0)) + 1 From @TempTable Where ID = A.ID)
어떤 도움은 매우 환영합니다. 어쩌면 반복해야합니까?
예 출력 I이 필요합니다 제가 질문을 이해한다면 우리는이 SQL 서버 또는 PostgreSQL을 다음 요한의 대답은 것입니다 가정하면
PK PK
ID SeqNum
1111 1
1111 2
1111 3
2222 1
2222 2
2222 3
3333 1
4444 1
5555 1
5555 2
잘 맞는 것 멋지게 맞추기. – xQbert
동의. zanq가 N 개의 항목 목록을 찾고 있다면 다른 것입니다. – Kevin
허용 된 대답에 사용 된 (비표준) 구문을 기반으로하는'sql-server' 태그가 추가되었습니다. –