안녕하세요~

 

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
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 3120
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 1949
10808 MS-SQL 프로시저 내 SELECT CASE에 따른 테이블 관련 질문 [1] file BGT051 2022.05.11 169
10807 mssql 백업본 복구 후, 데이터 두개씩 보이는 현상 [1] kyumn 2022.05.10 223
10806 MsSQL 합계관련 쿼리 질문 드립니다. [1] file BGT051 2022.05.10 114
» sql 질문이 있습니다. [1] file 에이치 2022.05.04 107
10804 sql 질문 드립니다. [1] (っ'-')╮=͟͟͞나루님 2022.04.28 93
10803 mysql 질문입니다. [2] 서승권 2022.04.25 176
10802 sql 처리방식 문의 [2] 깨비꼬비 2022.04.22 97
10801 MSSQL INSERT 질문드려요 [1] file 1108321 2022.04.09 149
10800 BETWEEN 구문에 MIN AND MAX [1] jkrh**** 2022.04.04 127
10799 쿼리문 타임아웃 관련 질문 있습니다. [4] BHLee 2022.03.31 677
10798 데이타베이스 복원 관련 문의 입니다. [1] 김영삼1053 2022.03.29 169
10797 MSSQL DB백업 문의 (유지관리계획) [1] 이루스 2022.03.28 137
10796 sql 문의 hch**** 2022.03.27 66
10795 sql 문의 hch**** 2022.03.27 43
10794 sql 문의 [1] hch**** 2022.03.27 69
10793 여러개의 쿼리에 대한 commandtimeout에 관련해서 질문드립니다. [2] BHLee 2022.03.23 79
10792 MSSQL 수식 포함 수식이 여러건일 때 [1] Min2817 2022.03.22 147
10791 대량의 데이터 의 sum 을 좀 빠르게 구현 할 수 있는 방법을 모르겠습니다. [4] 비상2834 2022.03.20 785
10790 xml 데이터를 테이블 형식으로 변환 [2] 무념 2022.03.16 111
10789 포인트 차감 로직 [2] 홍은혜 2022.03.07 443





XE Login