나는 아래 표가 : 종료 날짜가 다음 Active 종료 날짜가없는 경우는 null 다음 휴일MAX
TableA의가 null의 경우 ID 당 최신 행의
를 적어 종료 날짜 :
기준
StartDate EndDate ID
04/01/2017 06/30/2017 1
10/01/2017 1
11/01/2017 05/01/2017 2
예상 결과 :
StartDate EndDate ID CurrentStatus
04/01/2017 06/30/2017 1 Active
10/01/2017 1 Active
11/01/2017 11/02/2017 2 Closed
는 SQL 코드 :
SELECT *
MAX(CASE WHEN CCP.ENDDATE IS NULL THEN 'Active' END)
OVER (PARTITION BY CCP.ID) AS CURRENT_STATUS
FROM TABLEA CCP
나는 "청산"고객을위한 그렇지 조건을 추가 할 수 있습니까?
이것은 XY 문제 일 수 있습니다. 귀하의 목표는 어떤 ID의 끝 날짜가 null인지 (또는 아직 끝나지 않은 끝 날짜인지, 그 ID에 대한 모든 레코드가 활성화되어 있는지, 아니면 닫혀 있는지)를 찾는 것입니까? (예상 결과에서 Id2의 종료 날짜는 어떻게됩니까? 병합에서 최대 값을 랩핑하고 '닫힘'을 사용 했습니까? – xQbert
대소 문자가 아닌 사례 _ 표현식. – jarlh