데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

 

안녕하세요~

 

SQL 질문 (행간 연산..문제)가 있어서 글을 올려요..ㅠ

고민하다가 도무지 안풀리네요......

 

우선 데이터셋은 아래와 같습니다

 

sql000.png

 

 

데이터셋은

userid,  code,  startYN,  endYN,  timet  가 있습니다.

 

한 유저가 startYN = Y 에서 부터 다음  endYN = Y 을 만날때까지

처음 startYN=Y 에 있던 code 와 timet 를 그대로 넣어주는 결과를 만들어 내고 싶습니다.

 

행단위 프로세스로 보면

1. 유저A가 startYN=Y 를 확인하여 code값, timet값을 저장

2. 위에서 저장한 code값, timet값을 다음 endYN=Y 가 나올때까지 동일하게 입력한다.

3. 다음 startYN=Y 를 확인하여 위 과정을 반복한다. 

 


결국 해당 프로세스 결과 다음과 같은 결과를 얻는 것이 목표입니다.

sql001.png

 

 

 

해당 데이터셋을 얻을수 있는 쿼리 with절로 첨부합니다..ㅠㅠ

 

감사합니다.

 

with t as (
select 'A' userid, '001' code, 'Y' startYN, 'Y' endYN, 1 timet union all
select 'A' userid, '' code, 'N'    startYN, 'N' endYN, 2 timet union all
select 'A' userid, '001' code, 'N'    startYN, 'N' endYN, 3 timet union all
select 'A' userid, '' code, 'N'    startYN, 'N' endYN, 4 timet union all
select 'A' userid, '' code, 'N'    startYN, 'Y' endYN, 5 timet union all
select 'A' userid, '002' code, 'Y' startYN, 'Y' endYN, 6 timet union all
select 'A' userid, '' code, 'N'    startYN, 'N' endYN, 7 timet union all
select 'A' userid, '002' code, 'N'    startYN, 'N' endYN, 8 timet union all
select 'A' userid, '' code, 'N'    startYN, 'N' endYN, 9 timet union all
select 'A' userid, '' code, 'N'    startYN, 'Y' endYN, 10 timet union all
select 'A' userid, '001' code, 'Y' startYN, 'N' endYN, 11 timet union all
select 'A' userid, '' code, 'N'    startYN, 'N' endYN, 12 timet union all
select 'A' userid, '' code, 'N'    startYN, 'Y' endYN, 13 timet union all
select 'A' userid, '003' code, 'Y' startYN, 'Y' endYN, 14 timet union all
select 'A' userid, '' code, 'N'    startYN, 'N' endYN, 15 timet union all
select 'A' userid, '' code, 'N'    startYN, 'N' endYN, 16 timet union all
select 'A' userid, '' code, 'N'    startYN, 'N' endYN, 17 timet union all
select 'A' userid, '' code, 'N'    startYN, 'Y' endYN, 18 timet 
)
select *
  from t t
  order by timet


 

No. Subject Author Date Views
10810 mssql 가로데이터 새로 변경 문의드립니다. [2] 인트피트 2022.05.19 22
10809 기간 검색시 쿼리 질문 [1] leesoek 2022.05.17 21
10808 MS-SQL 프로시저 내 SELECT CASE에 따른 테이블 관련 질문 [1] file BGT051 2022.05.11 50
10807 mssql 백업본 복구 후, 데이터 두개씩 보이는 현상 [1] kyumn 2022.05.10 129
10806 MsSQL 합계관련 쿼리 질문 드립니다. [1] file BGT051 2022.05.10 30
» sql 질문이 있습니다. file 에이치 2022.05.04 33
10804 sql 질문 드립니다. [1] (っ'-')╮=͟͟͞나루님 2022.04.28 52
10803 mysql 질문입니다. [2] 서승권 2022.04.25 131
10802 sql 처리방식 문의 [2] 깨비꼬비 2022.04.22 54
10801 MSSQL INSERT 질문드려요 [1] file 1108321 2022.04.09 96
10800 BETWEEN 구문에 MIN AND MAX [1] jkrh**** 2022.04.04 61
10799 쿼리문 타임아웃 관련 질문 있습니다. [4] BHLee 2022.03.31 68
10798 데이타베이스 복원 관련 문의 입니다. [1] 김영삼1053 2022.03.29 125
10797 MSSQL DB백업 문의 (유지관리계획) [1] 이루스 2022.03.28 54
10796 sql 문의 hch**** 2022.03.27 35
10795 sql 문의 hch**** 2022.03.27 19
10794 sql 문의 [1] hch**** 2022.03.27 28
10793 여러개의 쿼리에 대한 commandtimeout에 관련해서 질문드립니다. [2] BHLee 2022.03.23 34
10792 MSSQL 수식 포함 수식이 여러건일 때 [1] Min2817 2022.03.22 103
10791 대량의 데이터 의 sum 을 좀 빠르게 구현 할 수 있는 방법을 모르겠습니다. [4] 비상2834 2022.03.20 89





XE Login