날짜와 이름, 가격 열이있는 테이블이 있습니다. 내가하고 싶은 일은 같은 이름의 연속 날짜의 최소 날짜와 최대 날짜가있는 2 개의 열을 하나 추가하는 것입니다.DB2의 계산 된 열 참조
내가 규칙을 설명하고 다음 쿼리를 작성했습니다 :
select date1,name,price
case
when lag(name,1) over(order by date1 ASC,name ASC)=name then lag(minDate,1) over(order by date1 ASC,name ASC)
else date1
end as minDate,
case
when lag(name,1) over(order by date1 DESC,name DESC)=name then lag(maxDate,1) over(order by date1 DESC,name DESC)
else date1
end as maxDate
from MyTable order by date1 ASC,name ASC
내 문제는 내가 "minDate/maxDate에 대한 잘못된 상황을"얻을 것입니다 (SQLCODE = -206, SQLSTATE = 42703) 왜 수 계산 된 열을 참조하지 않습니까? 다른 방법이 있습니까?