데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
NAME | NUMBER |
AA | 3 |
BB | 2 |
결과
AA 3
AA 3
AA 3
BB 2
BB 2
이렇게 특정 (NUMBER 컬럼) 컬럼값 만큼 행을 복제? 할수있는 방법이있을까요?
오라클에서는 가능했던것같은데 MSSQL 에서도 방법이 있는지 여쭙니다
CTE 로 처리하시면 됩니다.
하기 쿼리 참고하세요.
---쿼리시작---
;with tblA (NAME,NUMBER ) As
(
Select 'AA',3 Union All
Select 'BB',2
)
,tblB (NAME,NUMBER,SEQ) As
(
Select a.NAME
,a.NUMBER
,1
From tblA a
Union All
Select a.NAME
,a.NUMBER
,a.SEQ + 1
From tblB a
Where a.SEQ+1 <= a.NUMBER
)
Select a.NAME
,a.NUMBER
From tblB a
Order By a.NAME Asc
,a.NUMBER Asc
---쿼리끝---