http://www.sqler.com/571713  질문에서 문제가 있어서 추가 질문합니다.

 

아래 붉은색 한줄을 추가를 하니,

12:00 에 로우가 추가로 생겨버렸습니다.

같은 시간대에는 한 로우가 되어야 합니다.

어떻게 해야 할까요. 도와주세요.

-------------------- 결과 --------------------------

s_time            e_time      201                           202                         501
10:00             10:30        2013-2371B001        NULL                    NULL
10:30             11:00        2013-2371B001        NULL                    NULL
11:00             11:30        NULL                       NULL                    2013-2371B001
11:30             12:00        NULL                       NULL                    2013-2371B001


12:00             12:30        2013-2371C004        NULL                    NULL
12:30             13:00        2013-2371C004        NULL                    NULL
12:00             12:30        NULL                       2013-2371A005     NULL
12:30             13:00        NULL                       2013-2371A005     NULL

 

 

-------- 도와주신 쿼리 --------------------------

 

WITH
DT1 as
(  select '09:00' s_time , '11:00' e_time ,'2013-2371B001' code ,'201' rmode union all
   select '11:00' ,'12:00' ,'2013-2371B001' ,'501' union all
   select '12:00' ,'16:00' ,'2013-2371C004' ,'201' union all
   select '12:00' ,'16:00' ,'2013-2371A005' ,'202'

    )
   select * into #DT1  from DT1;
  
WITH   
DT2 as
(
   select '10:00' s_time , '10:30' e_time   union all
   select '10:30' s_time , '11:00' e_time   union all
   select '11:00' s_time , '11:30' e_time   union all
   select '11:30' s_time , '12:00' e_time   union all
   select '12:00' s_time , '12:30' e_time   union all
   select '12:30' s_time , '13:00' e_time    )   
   select * into #DT2 from DT2;

     
declare @sql varchar(max)

set @sql = 'SELECT B.s_time ,B.e_time ' + CHAR(10) ;

select @sql = @sql + '     , case when A.rmode = ''' +rmode +''' then A.code end ['+rmode+']' + CHAR(10)
  from #DT1 group by rmode
 
set @sql = @sql + '  FROM #DT2 B JOIN #DT1 A ON A.s_time <= B.s_time AND A.E_time >= B.e_time '
  


print @sql
exec(@sql)

No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 33688
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 16960
7103 SQL Server Profiler로 내 컴퓨터 만 조회하는 방법이 있나요? [3] 엄청난짱구 2013.08.23 7795
» 추가 질문입니다. 도와주세요. [2] 생각찾기 2013.08.22 4333
7101 동일한 실행계획이 메모리에 두개가 올라가네요? [6] NiceHee 2013.08.22 5372
7100 서버 에러관련 문의드립니다 (_ _) [2] 파인드쿠폰 2013.08.22 6785
7099 2000서버 설치시 사용자계정에서 오류좀 해결해주세요~ [1] 수아진 2013.08.21 5204
7098 user lock 방법 [1] chhhhh 2013.08.21 4602
7097 쿼리 질문합니다. 도와주십시요. [5] 생각찾기 2013.08.21 4537
7096 sql server 2005 express 설치 후 ssms 실행이 안되네요.. Larry 2013.08.21 8032
7095 도움좀 부탁드릴께요 ㅠㅠ [3] 다웅이쌔끈 2013.08.21 4325
7094 쿼리 도움좀 부탁드립니다 ㅠ_ㅠ; [3] unyo 2013.08.21 5733
7093 쿼리문 질문 드립니다. [2] 양아~ 2013.08.21 4526
7092 sql 전체 백업한 파일들 예약해서 다운 받거나 전송하는 방법이 있을까요? [2] 카루카루 2013.08.20 4993
7091 sql 쿼리 문의드려요.. 이럴땐 어떻게 해야할까요?? [2] spica 2013.08.20 4582
7090 미러링 환경 구성 질문 합니다. [1] 디비러 2013.08.20 4947
7089 구간에 따른 inner join 이 가능할까요? [1] taz2315 2013.08.20 4908
7088 사용자 권한부여 문제 도와주세요 ㅠㅠ [2] 윤한구 2013.08.20 5346
7087 SELECT문 질문드립니다. [1] 뽀챙 2013.08.19 4427
7086 서브쿼리 페이징처리 문의 [3] seyo 2013.08.19 5750
7085 log 기본 폴더 변경 문의 [3] 김미영_279087 2013.08.18 4473
7084 다시 질문드립니다(clustered index) [2] 깽즈야 2013.08.18 3969





XE Login