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 20205
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 12142
7118 시간 평균에 관한 질문이 있습니다. [2] 생각찾기 2013.08.29 4267
7117 락에 대해서 궁금한게 잇어서요 [1] 죄민수 2013.08.29 4628
7116 DB에 주기적으로 락이 걸립니다.(로딩20초) [8] 보충수업 2013.08.29 5839
7115 유지관리 계획의 무결성 검사 실패 관련 [1] 메칸더 2013.08.28 5772
7114 3.5TB DB 백업에 대하여 (대용량 DB 백업에 대하여..) [9] 송동운 2013.08.28 6453
7113 Inner Join에 Where 절 재질문입니다! [2] MissingYou 2013.08.27 4902
7112 NonClusterd index 멀티 컬럼으로 설정 할 수 가 있나요? [2] 나는짱이야 2013.08.27 4418
7111 칼럼1+칼럼2 합쳐서 한번에 나오게할려면 어떻게해야하나요? [3] 로쏘네리 2013.08.27 4845
7110 (초보)쿼리질문좀드립니다. [2] 왕만두와우동 2013.08.27 4443
7109 데이터가 숫자인데 문자와 같이 찍혀서 나올수있나요? [1] 로쏘네리 2013.08.27 4178
7108 내가 결재할 문서의 개수를 구하려면 어떻게 해야 할까요? [1] taz2315 2013.08.26 5311
7107 Inner Join에 Where 절 질문입니다! [4] MissingYou 2013.08.26 6014
7106 누적차감 [4] 다초 2013.08.26 8723
7105 select 좀 도와주세요 [1] 이유진_301818 2013.08.25 4565
7104 파일 백업 관련 솔루션 문의드립니다. 아브라카다브리 2013.08.23 4592
7103 SQL Server Profiler로 내 컴퓨터 만 조회하는 방법이 있나요? [3] 엄청난짱구 2013.08.23 7761
» 추가 질문입니다. 도와주세요. [2] 생각찾기 2013.08.22 4331
7101 동일한 실행계획이 메모리에 두개가 올라가네요? [6] NiceHee 2013.08.22 5367
7100 서버 에러관련 문의드립니다 (_ _) [2] 파인드쿠폰 2013.08.22 6778
7099 2000서버 설치시 사용자계정에서 오류좀 해결해주세요~ [1] 수아진 2013.08.21 5201





XE Login