안녕하세요~

 

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 21508
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 12229
10820 미러링 관련하여 질문드립니다. [2] JunH 2022.06.03 336
10819 MSSQL 쿼리를 비교해서 퍼포먼스 정답을 찾을 때 보통 어떻게 하면될까요? [4] 감프 2022.06.02 196
10818 mssql 쿼리분석기에서 쿼리 속도 확인 침 비교하는데 쓰이는 프로시저나 명령어 뭐 없을까요? [4] 감프 2022.06.01 167
10817 mssql 페이징 + count 관련 성능비교? [2] 감프 2022.06.01 397
10816 오라클 mssql 쿼리 변환 요청 [2] 푸푸풍 2022.05.31 93
10815 쿼리 문의 [1] m**** 2022.05.31 72
10814 SQL Database 사용시 처리속도 10배 느려짐 [1] os**** 2022.05.28 193
10813 mysql 광고성 메일 수신동의 확인 안내 메일 2년주기 쿼리 질문있습니다! 아르 2022.05.26 104
10812 multi 컬럼 조건 조회 오류 [1] 시커먼뜨거운메일 2022.05.24 150
10811 SELECT 문 도움 부탁 드립니다. [1] power 2022.05.23 88
10810 mssql 가로데이터 새로 변경 문의드립니다. [2] 인트피트 2022.05.19 97
10809 기간 검색시 쿼리 질문 [1] leesoek 2022.05.17 107
10808 MS-SQL 프로시저 내 SELECT CASE에 따른 테이블 관련 질문 [1] file BGT051 2022.05.11 189
10807 mssql 백업본 복구 후, 데이터 두개씩 보이는 현상 [1] kyumn 2022.05.10 235
10806 MsSQL 합계관련 쿼리 질문 드립니다. [1] file BGT051 2022.05.10 140
» sql 질문이 있습니다. [1] file 에이치 2022.05.04 118
10804 sql 질문 드립니다. [1] (っ'-')╮=͟͟͞나루님 2022.04.28 100
10803 mysql 질문입니다. [2] 서승권 2022.04.25 188
10802 sql 처리방식 문의 [2] 깨비꼬비 2022.04.22 105
10801 MSSQL INSERT 질문드려요 [1] file 1108321 2022.04.09 163





XE Login