1
현재 날짜와 원래 날짜 사이에있는 가장 빠른 시작 날짜부터 날짜를 업데이트하려고합니다. 내가 가진 쿼리는 다음과 같습니다.인라인, 그룹화 및 사이에있는 TSQL 업데이트
update TableA
set [Stop_Date] =DATA.Min_Start
FROM TableA
JOiN
(select min(TableB.START_DTTM) as Min_Start
from TableB
where
TableB.CancelReason ='Treatment' AND
TableA.Start_Date>=TableB.START_DTTM AND
TableB.START_DTTM '< GETDATE()
) DATA
ON TableA.Ref_No=TableB.REFRL_REFNO
where
[Stop_Date] is null
그러나 TableA.Start_Date
은 문제를 일으키는 것으로 보입니다. 누구든지 올바른 SQL을 도울 수 있습니까? TableA.Start_Date>=TableB.START_DTTM AND TableB.START_DTTM '< GETDATE()
이 잘못
DECLARE @TableA TABLE (Ref_No Int, Stop_Date DateTime,Start_Dat DateTime)
DECLARE @TableB TABLE (REFRL_REFNO int, CancelReason varchar(50), START_DTTM DateTime,
Stop_DTTM DateTime,Comments varchar(50))
insert @TableA
select 1, '10 jan 2000', '5 jan 2000'
insert @TableA
select 4, NULL, '9 jan 2000'
insert @TableB
select 1,'Treatment','8 Jan 2000','9 Jan 2000','Shouldn''t be used'
insert @TableB
select 4,'Treatment','1 Jan 2000','2 Jan 2000','Shouldn''t be used'
insert @TableB
select 4,'Treatment','21 Jan 2000','22 Jan 2000','Shouldn''t be used'
insert @TableB
select 4,'Treatment','11 Jan 2000','12 Jan 2000','Should be used'
insert @TableB
select 4,'Other','10 Jan 2000','11 Jan 2000','Shouldn''t be used'
'... AND TableB.START_DTTM)'- 이것은 완전한 표현식처럼 보이지 않습니다. – mdma
죄송합니다. '<'표시가 나타나지 않았습니다. – ClimberM