안녕하세요 다음 구조의 테이블이 있습니다.Web2py DAL이 (가) 최신 날짜가 기록을 찾는다
테이블 이름 : 서류
예제 테이블 구조 :
ID | UIN | COMPANY_ID | DOCUMENT_NAME | MODIFIED_ON |
---|----------|------------|---------------|---------------------|
1 | UIN_TX_1 | 1 | txn_summary | 2016-09-02 16:02:42 |
2 | UIN_TX_2 | 1 | txn_summary | 2016-09-02 16:16:56 |
3 | UIN_AD_3 | 2 | some other doc| 2016-09-02 17:15:43 |
내가 ID입니다 1 DOCUMENT_NAME "txn_summary"입니다 회사에 대한 최신 수정 기록 UIN를 가져 싶다.
select distinct on (company_id)
uin
from documents
where comapny_id = 1
and document_name = 'txn_summary'
order by company_id, "modified_on" DESC;
이 쿼리가 정확한지하는 UIN_TX_2 저를 가져옵니다 :
이
는 작동 PostgreSQL의 쿼리입니다.이 값을 얻으려면 web2py DAL을 사용하고 있습니다. 몇 가지 조사 후 나는이 작업을 수행 할 성공했다 :
이제fmax = db.documents.modified_on.max()
query = (db.documents.company_id==1) & (db.documents.document_name=='txn_summary')
rows = db(query).select(fmax)
"행"최대 값을 갖는 modified_on 날짜의 값을 포함합니다. "행"안에 최대 날짜가있는 레코드를 가져 오려고합니다. 제발 방법을 제안 해주세요. 도움을 많이 주시면 감사하겠습니다.
내 요구 사항은 각 document_name에 대한 각 company_id에 대해 이러한 각 레코드를 찾기 위해 확장됩니다.
각 company_id/document_name 조합에 대해 마지막으로 수정 된 레코드를 가져 오는 단일 쿼리를 원하거나 각 조합에 대해 별도의 쿼리를 실행 하시겠습니까? 원하는 정확한 결과에 대한 SQL 표현식을 표시 할 수 있습니까? – Anthony
안녕하세요 @Anthony, 늦은 답변을 드려 죄송합니다. 예, 각 company_id/document_name 조합에 대해 마지막으로 수정 된 레코드를 원합니다. 아래의 답변에서 언급 한 쿼리를 사용하여 개별 (company_id/document_name) 조합 목록에서 for 루프를 실행하고 싶습니다. –