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 2023년 1월 - SQLER의 업데이트 강좌 리스트 코난(김대우) 2023.01.02 1245
» 추가 질문입니다. 도와주세요. [2] 생각찾기 2013.08.22 4320
7101 동일한 실행계획이 메모리에 두개가 올라가네요? [6] NiceHee 2013.08.22 5339
7100 서버 에러관련 문의드립니다 (_ _) [2] 파인드쿠폰 2013.08.22 6750
7099 2000서버 설치시 사용자계정에서 오류좀 해결해주세요~ [1] 수아진 2013.08.21 5188
7098 user lock 방법 [1] chhhhh 2013.08.21 4585
7097 쿼리 질문합니다. 도와주십시요. [5] 생각찾기 2013.08.21 4527
7096 sql server 2005 express 설치 후 ssms 실행이 안되네요.. Larry 2013.08.21 8005
7095 도움좀 부탁드릴께요 ㅠㅠ [3] 다웅이쌔끈 2013.08.21 4313
7094 쿼리 도움좀 부탁드립니다 ㅠ_ㅠ; [3] unyo 2013.08.21 5713
7093 쿼리문 질문 드립니다. [2] 양아~ 2013.08.21 4515
7092 sql 전체 백업한 파일들 예약해서 다운 받거나 전송하는 방법이 있을까요? [2] 카루카루 2013.08.20 4978
7091 sql 쿼리 문의드려요.. 이럴땐 어떻게 해야할까요?? [2] spica 2013.08.20 4562
7090 미러링 환경 구성 질문 합니다. [1] 디비러 2013.08.20 4931
7089 구간에 따른 inner join 이 가능할까요? [1] taz2315 2013.08.20 4889
7088 사용자 권한부여 문제 도와주세요 ㅠㅠ [2] 윤한구 2013.08.20 5335
7087 SELECT문 질문드립니다. [1] 뽀챙 2013.08.19 4412
7086 서브쿼리 페이징처리 문의 [3] seyo 2013.08.19 5735
7085 log 기본 폴더 변경 문의 [3] 김미영_279087 2013.08.18 4459
7084 다시 질문드립니다(clustered index) [2] 깽즈야 2013.08.18 3954
7083 SQL server 2008 R2 Character Set 변환 질문드립니다^^ [2] 내인생에GG란없다 2013.08.16 21650





XE Login