안녕하세요~

 

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 33689
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 16962
10823 mssql 쿼리 실행이 안됩니다 [3] file biado**** 2022.06.07 385
10822 SSMS에서 DB 파티션을 나누어놓았는데 원상복구를 어떻게하는지 궁금합니다 [1] file 김누리 2022.06.04 619
10821 SQL2012 -> SQL2016 마이그레이션 [1] sajini**** 2022.06.03 98
10820 미러링 관련하여 질문드립니다. [2] JunH 2022.06.03 342
10819 MSSQL 쿼리를 비교해서 퍼포먼스 정답을 찾을 때 보통 어떻게 하면될까요? [4] 감프 2022.06.02 208
10818 mssql 쿼리분석기에서 쿼리 속도 확인 침 비교하는데 쓰이는 프로시저나 명령어 뭐 없을까요? [4] 감프 2022.06.01 171
10817 mssql 페이징 + count 관련 성능비교? [2] 감프 2022.06.01 403
10816 오라클 mssql 쿼리 변환 요청 [2] 푸푸풍 2022.05.31 103
10815 쿼리 문의 [1] m**** 2022.05.31 76
10814 SQL Database 사용시 처리속도 10배 느려짐 [1] os**** 2022.05.28 202
10813 mysql 광고성 메일 수신동의 확인 안내 메일 2년주기 쿼리 질문있습니다! 아르 2022.05.26 111
10812 multi 컬럼 조건 조회 오류 [1] 시커먼뜨거운메일 2022.05.24 156
10811 SELECT 문 도움 부탁 드립니다. [1] power 2022.05.23 93
10810 mssql 가로데이터 새로 변경 문의드립니다. [2] 인트피트 2022.05.19 105
10809 기간 검색시 쿼리 질문 [1] leesoek 2022.05.17 112
10808 MS-SQL 프로시저 내 SELECT CASE에 따른 테이블 관련 질문 [1] file BGT051 2022.05.11 200
10807 mssql 백업본 복구 후, 데이터 두개씩 보이는 현상 [1] kyumn 2022.05.10 244
10806 MsSQL 합계관련 쿼리 질문 드립니다. [1] file BGT051 2022.05.10 155
» sql 질문이 있습니다. [1] file 에이치 2022.05.04 133
10804 sql 질문 드립니다. [1] (っ'-')╮=͟͟͞나루님 2022.04.28 104





XE Login