안녕하세요~

 

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 2023년 1월 - SQLER의 업데이트 강좌 리스트 코난(김대우) 2023.01.02 448
10830 날짜 조건에서 속도면에서 차이가 있을가요? [4] 아싸라비아콜롬비아 2022.06.29 123
10829 mssql query 질문입니다. [2] PerryLous 2022.06.28 88
10828 검색어가 포함된 컬럼수대로 순위를 매기고 싶은데요 [1] 카루카루 2022.06.27 48
10827 SELECT절 CASE절 질문 [1] BGT051 2022.06.21 170
10826 mssql 프로시저 select 제발 도와주세요 [2] file 도와주세요제발 2022.06.17 188
10825 MSSQL join 관련 질문이 있습니다 [1] file 황윤수 2022.06.14 142
10824 sql 쿼리 질문입니다. [2] 김재성3058 2022.06.14 98
10823 mssql 쿼리 실행이 안됩니다 [3] file biado**** 2022.06.07 168
10822 SSMS에서 DB 파티션을 나누어놓았는데 원상복구를 어떻게하는지 궁금합니다 [1] file 김누리 2022.06.04 554
10821 SQL2012 -> SQL2016 마이그레이션 [1] sajini**** 2022.06.03 68
10820 미러링 관련하여 질문드립니다. [2] JunH 2022.06.03 292
10819 MSSQL 쿼리를 비교해서 퍼포먼스 정답을 찾을 때 보통 어떻게 하면될까요? [4] 감프 2022.06.02 110
10818 mssql 쿼리분석기에서 쿼리 속도 확인 침 비교하는데 쓰이는 프로시저나 명령어 뭐 없을까요? [4] 감프 2022.06.01 71
10817 mssql 페이징 + count 관련 성능비교? [2] 감프 2022.06.01 187
10816 오라클 mssql 쿼리 변환 요청 [2] 푸푸풍 2022.05.31 67
10815 쿼리 문의 [1] m**** 2022.05.31 44
10814 SQL Database 사용시 처리속도 10배 느려짐 [1] os**** 2022.05.28 113
10813 mysql 광고성 메일 수신동의 확인 안내 메일 2년주기 쿼리 질문있습니다! 아르 2022.05.26 64
10812 multi 컬럼 조건 조회 오류 [1] 시커먼뜨거운메일 2022.05.24 76
10811 SELECT 문 도움 부탁 드립니다. [1] power 2022.05.23 60





XE Login