2012-06-05 3 views
0

마지막 지불 날짜가 X 일 전의 일보다 많은 클라이언트가 포함 된 결과 집합 (postgres 데이터베이스에서)을 반환하고 싶습니다. 어디 ... 그리고 last_payment> 백일 : 내가 좋아하는 것 지금과 최대 날짜 값 사이의 날짜 차이가 X보다 큽니다

select usermaster.userid, date_trunc('days', now()-max(paymentdate)) as last_payment 
    from usermaster, paymentdetail 
    where usermaster.userid=paymentdetail.userid 
    group by usermaster.userid; 

여분 곳 조건과 제한 :

내가 모든 클라이언트의 목록을 얻으려면 현재 가지고 마지막 지급일 것입니다 당신은 마지막에 having을 추가 할 수

답변

0

이 트릭을해야

EDIT -

select * from 
(SELECT usermaster.userid, date_trunc('days', now()-max(paymentdate)) as 
     last_payment 
from usermaster, paymentdetail 
where usermaster.userid=paymentdetail.userid 
group by usermaster.userid) as temptab 
where last_payment>100; 
+0

빠른 응답을 주셔서 감사합니다. 나는 전에 HAVING 옵션을 만나지 않았다. 불행히도 그것은 작동하지 않습니다. Postgres는 ERROR : column "last_payment"가 존재하지 않습니다. – cemlo

+0

업데이트 된 쿼리 확인 –

+0

예, 저에게 도움이되었습니다. 나는 그것을 심지어 갱신 진술로 수정할 수 있었다. 감사! – cemlo

0

:

having trunc('days', now()-max(paymentdate)) > 100