2014-04-09 2 views
0

pgsql의 다른 뷰를 참조하는 뷰를 생성하려고합니다. 이 새로운보기는 열의 최대 및 최소 날짜 값을 찾습니다.열의 튜플 이름 지정

create or replace view Max_Min(status, name, employer, date) 
as 
SELECT * FROM another_view 
WHERE date = (SELECT MAX(date) FROM another_view) 
OR date = (SELECT MIN(date) FROM another_view) 
; 

어떻게이 채우기에 대해 갈 수있다 : 나는 최대이며, 라벨 없음 시도와 함께, 지금까지 최소

코드 인 별도의 칼럼 "상태"에서 인쇄 할 "최대 값"및 "최소값"문자열이있는 상태?

답변

0

이 그것을 할, 아마 빨리뿐만 아니라 테이블에 단 하나의 검사가 필요로하다해야

select t.*, 
     case 
     when t.date = t.max_date then 'max. date' 
     else 'min. date' 
     end as status 
from (
    select av.*, 
     min(av.date) over() as min_date, 
     max(av.date) over() as max_date, 
    from another_view av 
) t 
where date in (min_date, max_date) 

이 Btw는 : date는 열에 대한 끔찍한 이름입니다. 예약어이기도하지만 열 내용이 문서화되지 않았기 때문에 더욱 중요합니다. 그것은 "종료 날짜", "시작 날짜", "대여 날짜", "만기 날짜"...입니까?